**
logback日志文件的配置
logback日志组件有以下三个模块:
logback-access
logback-classic(log4j的改良版)
logback-core(为前面俩个提供了基础)
logback日志文件配置(标签)(知道这3个就足够了)。
- logger 存放日志对象,定义日志的类型,级别 。
- appender 指定日志输出的目的地(控制台,文件,远程topic),数据库。
- layout 格式化日志信息的输出
logback.xml 系统默认加载classpath下面的这个文件
配置文件入口标签:
《configuration scan=“true” scanPeriod=“60 seconds” debug=“false”/》
设置scan为true配置文件修改后重新加载,每60秒扫描配置文件一次。debug为true时,会打印出logback内部的一些日志信息
日志级别 TRACE<DEBUG<INFO<WARN<ERROR
定义参数常量
<property name="log.level" value="debug"/>
<property name="log.maxHistory" value="30"/> 日志文件最大保存历史数量
<property name="log.filePath" value="${}/logs"/>
<!--%d就是时间格式| [%thead] 那个线程执行的 | %-5level 日志等级 向左缩进5格 | %logger[50] - %msg就是那个类输出的信息| %n换行符-->
<property name="log.pattern" value=" %d{yyyy-MM-dd HH:mm:ss:SSS} [%thead] %-5level %logger[50] - %msg%n"/>
------------ 控制台打印日志-------------------
<appender name="consoleAppender" class=""> //class中的类路径自己查找
<encoder> //及负责将日志格式化输出,也负责将日志输出到文件中
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
------------ DEBUG级别的日志处理-------------------
<appender name="debugAppender" class=""> //class中的类路径自己查找
<file>${log.filePath}</file>
<rollingPolicy class=""> //日志滚动策略 按日期,时间进行
<fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz</fileNamePattern> //定义日志输出路径保存的文件压缩名称。是可以自动压缩的。
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="">
<level>DEBUG</level> 过滤掉不是debug级别的日志
<onMatch>ACCEPT</onMatch> 将日志debug保存
<onMismatch>DENY</onMismatch> 将不是debug的日志删除
</filter>
</appender >
-------------------INFO级别的日志处理-------------------
<appender name="infoAppender" class=""> ////class中的类路径自己查找
<file>${log.filePath}</file>
<rollingPolicy class="">
<fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="">
<level>INFO</level> 过滤掉不是info级别的日志
<onMatch>ACCEPT</onMatch> 将日志info保存
<onMismatch>DENY</onMismatch> 将不是info的日志删除
</filter>
</appender >
-------------------ERROR级别的日志处理-------------------
<appender name="errorAppender" class="">
<file>${log.filePath}</file>
<rollingPolicy class="">
<fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="">
<level>ERROR</level> 过滤掉不是error级别的日志
<onMatch>ACCEPT</onMatch> 将日志error保存
<onMismatch>DENY</onMismatch> 将不是error的日志删除
</filter>
</appender >
appenger是和logger标签关联使用的。name="com.zrj"指定该包下都进行日志管理。
<logger name="com.zrj" level="${log.level}" additibity="true"> //添加上 additibity="true"这个。那么控制台也会输出debug,error信息
<appenger ref="debugAppender"/>
<appenger ref="infoAppender"/>
<appenger ref="errorAppender"/>
</logger>
<root level="info"> 如果logger没有指定级别,默认是root下的info级别;
<appenger ref="consoleAppender"/>
</root>
**