logback日志组件的配置和使用

**

logback日志文件的配置

logback日志组件有以下三个模块:

logback-access

logback-classic(log4j的改良版)

logback-core(为前面俩个提供了基础)

 logback日志文件配置(标签)(知道这3个就足够了)。
  1. logger 存放日志对象,定义日志的类型,级别 。
  2. appender 指定日志输出的目的地(控制台,文件,远程topic),数据库。
  3. 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>

**

猜你喜欢

转载自blog.csdn.net/weixin_43028416/article/details/105724024