logback的配置和使用

来源:互联网 发布:淘宝抢月饼 编辑:程序博客网 时间:2024/06/16 22:46

1. logback介绍

Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。


2. maven依赖

[html] view plain copy
  1. <!-- logback+slf4j -->  
  2. <dependency>  
  3.     <groupId>org.slf4j</groupId>  
  4.     <artifactId>slf4j-api</artifactId>  
  5.     <version>1.6.0</version>  
  6.     <type>jar</type>  
  7.     <scope>compile</scope>  
  8. </dependency>  
  9. <dependency>  
  10.     <groupId>ch.qos.logback</groupId>  
  11.     <artifactId>logback-core</artifactId>  
  12.     <version>0.9.28</version>  
  13.     <type>jar</type>  
  14. </dependency>  
  15. <dependency>  
  16.     <groupId>ch.qos.logback</groupId>  
  17.     <artifactId>logback-classic</artifactId>  
  18.     <version>0.9.28</version>  
  19.     <type>jar</type>  
  20. </dependency>  

如果你没有使用maven,那么你自己去下载jar包吧...


3. 配置和使用

在spring-boot中可以放在application.yml或logback-spring.xml中

application.yml简单配置使用:

logging:   pattern:     console: "%d - %msg%n"  file: D:/springboot/sell.log  level: debug
logback-spring.xml可以配置复杂的功能:

//需求:区分info和error日志   //    每天产生一个日志文件
<?xml version="1.0" encoding="utf-8" ?><configuration>    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">        <layout class="ch.qos.logback.classic.PatternLayout">            <pattern>                %msg%n            </pattern>        </layout>    </appender>    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">        <filter class="ch.qos.logback.classic.filter.LevelFilter">            <level>ERROR</level>            <onMatch>DENY</onMatch>            <onMismatch>ACCEPT</onMismatch>        </filter>       <encoder>           <pattern>               %msg%n           </pattern>       </encoder>           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">               <!--路径-->               <fileNamePattern>D:/springboot/sell-info.%d.log</fileNamePattern>           </rollingPolicy>    </appender>    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">            <level>ERROR</level>        </filter>        <encoder>            <pattern>                %msg%n            </pattern>        </encoder>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <!--路径-->            <fileNamePattern>D:/springboot/sell-error.%d.log</fileNamePattern>        </rollingPolicy>    </appender>    <root level="info">        <appender-ref ref="consoleLog"/>        <appender-ref ref="fileInfoLog"/>        <appender-ref ref="fileErrorLog"/>    </root></configuration>

@Slf4jpublic class Loggertest {   //loggerback    //org.slf4j.event可以看到级别,   //private  final Logger logger=LoggerFactory.getLogger(Loggertest.class);//需求:区分info和error日志   //    每天产生一个日志文件   @Test   public void test(){         /*  logger.debug("debug..........................");           logger.info("info------------------------");           logger.error("error=========================");*/      log.debug("debug..........................");      log.info("info------------------------");      log.error("error=========================");      String name="imooc";      String password="123456";      //log.info("name: " +name+" ,password: "+password);      log.info("name: {}, password: {}",name,password);   }}

原创粉丝点击