springboot的logback日志配置,springboot logback配置文件详解

  springboot的logback日志配置,springboot logback配置文件详解

  00-10101,logback和log4j是同一个作者,logback可以看作是log4j的升级版。

  2.logback分为三个模块:logback-core、logback-classic和logback-access,其中logback-core是核心,另外两个模块依赖于core。这个logback-classic是log4j的改进版本,SLF4J facade是原生实现的(详见上一篇文章:Java中SLF4J日志框架的实现原理)。logback-access模块可以集成到Servlet容器中,比如Tomact和Jetty。

  3.你可以基于logback-core自己创建其他模块。

  00-1010比log4j快,重写内核,在一些关键路径上性能提升10倍,占用内存更少。经过大量测试,与log4j测试不在一个数量级。Logback-classic是SLF4J的实现。切换其他日志框架非常方便,文档丰富,不断更新。它支持自动重载Groovy风格的概要文件。如果配置文件被更新,logback-classic可以自动重新加载。自动删除日期较早的日志文件,maxHistory属性,您可以控制已生成的日志文件的最大数量。如果maxHistory设置为12,那些超过12个月的日志文件将被自动删除。自动压缩存档的日志文件。压缩文件是异步完成的,这不会影响应用程序。配置文件可以处理不同环境中的开发、测试和生产,因此配置文件可以适应多种环境。它可以用来根据任何给定的运行参数对日志文件进行分区。例如,SiftingAppender可以区分日志事件并跟踪用户的会话,然后每个用户都会有一个日志文件。

  我们来看看SpringBoot是如何集成logback的。

  spring-boot-starter-web这个包在使用SpringBoot的时候几乎是必不可少的,它已经依赖于logback的组件,也就是说SpringBoot已经为你集成了logback。

  只需将logback.xml文件添加到resources目录中,并写入以下内容:

  路径、包名、保持期等。可以根据自己的需求进行修改。

  ?xml版本=1.0 编码=UTF-8 ?配置!-日志存储路径-属性名称= log.path 值=。/logs !-日志输出格式-property name= log . pattern value= % d { hh 3360mm 3360 ss . SSS }[% thread]%-5 level % logger { 20 }-[% method,% line]-%msg% n !-console output-appender name= console class= ch . QoS . log back . core . console appender encoder pattern $ { log . pattern }/pattern/encoder/appender!-系统日志输出-appender name= file _ info class= ch . QoS . log back . core . rolling . rolling文件appender file $ { log . path }/sys-info . log/file!-循环策略:基于time-rolling policy class= ch . QoS . log back . core . rolling . timebasedrollingpolicy 创建日志文件!-日志文件名格式-文件名模式{ log . path }/sys-info。% d {yyyy-mm-dd}。日志/文件名模式!-日志的最大历史记录为60天-maxhistory 60/max history/rollingpolicefilterclass= ch . QoS . log back . classic . filter . level filter !-过滤级别- levelINFO/level!-匹配时的操作:接收(记录)-onmatcheaccept/o

  nMatch> <!-- 不匹配时的操作:拒绝(不记录) --> <onMismatch>DENY</onMismatch> </filter><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.path}/sys-error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level><!-- 匹配时的操作:接收(记录) --><!-- 不匹配时的操作:拒绝(不记录) --> </appender><!-- 用户访问日志输出 --> <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-user.log</file> <!-- 按天回滚 daily --> <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志最大的历史 60天 --> <maxHistory>60</maxHistory><!-- 系统模块日志级别控制 --><logger name="cn.vantee" level="info" /><!-- Spring日志级别控制 --><logger name="org.springframework" level="warn" /><root level="info"><appender-ref ref="console" /></root><!--系统操作日志--> <root level="info"> <appender-ref ref="file_info" /> <appender-ref ref="file_error" /> </root><!--系统用户操作日志--> <logger name="sys-user" level="info"> <appender-ref ref="sys-user"/> </logger></configuration> 在yml文件中加入如下配置:

  

logging: level: cn.vantee: debug cn.vantee.mapper: trace config: classpath:logback.xml
在需要打印日志的类上加入@Slf4j注解,即可使用log.info()、log.error()、log.debug()...打印日志。日志会自动记录在logback.xml中指定的文件内

  到此这篇关于SpringBoot整合logback的文章就介绍到这了,更多相关SpringBoot整合logback内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: