我是靠谱客的博主 鲤鱼飞机,最近开发中收集的这篇文章主要介绍配置logback.xml文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<?xml version="1.0" encoding="UTF-8" ?>
<!--
scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
-->
<configuration scan="true" scanPeriod="60" debug="false">
<!--定义参数常量:全局常量-->
<!--定义日志级别
TRACE<DEBUG<INFO(默认)<WARN<ERROR
在代码中调用:logger.trace("msg"),logger.debug("msg")...
-->
<property name="log.level" value="debug"/>
<!--定义文件保留时间-->
<property name="log.maxHistory" value="30"/>
<!--定义日志存储路径
在catalina.base路径下创建logs文件夹和里面的webapps文件夹;使用spring.log作为默认日志文件
-->
<property name="log.filePath" value="${catalina.base}/logs/webapps"/>
<!--日志输出方式-->
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]% -5level %logger{50} - %msg%n"/>
<!-- **********************************************************************************************************************************************************-->
<!--定义日志输出位置(控制台/文件)
consoleAppender:在控制台
-->
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<!--对日志进行格式化,指定日志输出的格式-->
<encode>
<!--引用上面定义的全局变量-->
<pattern>${log.pattern}</pattern>
</encode>
</appender>
<!--DEBUG-->
<appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件路径-->
<file>${log.filePath}/debug.log</file>
<!--指定滚动策略
TimeBasedRollingPolicy:按时间滚动如果到了设定的时间,则将会删除之前的日志重新记录
定时刷新日志文件,
-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--文件名称
在{log.filePath}/debug/路径下生成一个debug.日期开头的已log.gz结尾的日志文件
-->
<fileNamePattern>
${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!--设置最大保存时间:保存30天-->
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<!--对日志进行格式化,指定日志输出的格式-->
<encode>
<!--引用上面定义的全局变量-->
<pattern>${log.pattern}</pattern>
</encode>
<!--添加过滤器,过滤掉不是debug的日志,仅仅保留debug的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<!--如果是debug日志则记录-->
<onMatch>ACCEPT</onMatch>
<!--如果不是debug则将他过滤掉-->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!--INFO-->
<appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件路径-->
<file>${log.filePath}/info.log</file>
<!--指定滚动策略
TimeBasedRollingPolicy:按时间滚动如果到了设定的时间,则将会删除之前的日志重新记录
定时刷新日志文件,
-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--文件名称
在{log.filePath}/debug/路径下生成一个debug.日期开头的已log.gz结尾的日志文件
-->
<fileNamePattern>
${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!--设置最大保存时间:保存30天-->
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<!--对日志进行格式化,指定日志输出的格式-->
<encode>
<!--引用上面定义的全局变量-->
<pattern>${log.pattern}</pattern>
</encode>
<!--添加过滤器,过滤掉不是info的日志,仅仅保留info的日志-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<!--如果是debug日志则记录-->
<onMatch>ACCEPT</onMatch>
<!--如果不是debug则将他过滤掉-->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!--
配置logger:
name:告诉logback要关注那个包下的的日志信息
level: 告诉logback只关注那个日志级别以上的信息(tram<debug<info<warn<error)
additivity:默认是true,当为true时,则会将root下的appender-ref全部加载到logger自己下面,
并且level并不是按照root指定的level而是logger指定的level级别
-->
<logger name="com" level="${log.level}" additivity="true">
<!--绑定不同类型的日志记录方式,就是上面配置的-->
<appender-ref ref="debugAppender"/>
<appender-ref ref="infoAppender"/>
</logger>
<!--
root:是特殊的logger(父logger)
如果logger中的level属性没有指定日志级别,默认会继承root的属性level的日志级别
-->
<root level="info">
<!--绑定不同类型的日志记录方式,就是上面配置的-->
<appender-ref ref="consoleAppender"/>
</root>
</configuration>

最后

以上就是鲤鱼飞机为你收集整理的配置logback.xml文件的全部内容,希望文章能够帮你解决配置logback.xml文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(92)

评论列表共有 0 条评论

立即
投稿
返回
顶部