logback&lombok 简化日志处理

logback&lombok 简化日志处理

1      简介

1.1  Logback

相比较log4j,logback性能较好,且日志展现形式较美观。

1.2  Lombok

lombok 提供了简单注解的形式来简化Java代码

1.3  目的

使用lombok简化logback的使用

2      配置

2.1  lombok

详情见:http://blog.csdn.net/leeyuri/article/details/44560859

2.2  Logback

2.2.1  Maven

注:当前最新版本是1.1.2

[html]  view plain  copy
  1. <dependency>  
  2.    <groupId>ch.qos.logback</groupId>  
  3.    <artifactId>logback-classic</artifactId>  
  4.    <version>${logback-version}</version>  
  5. </dependency>  

2.2.2  Logback.xml

在${项目根目录}/src/main/resources目录下新建logback.xml

注:可以直接复用下面的配置。如果输出到数据库或email等,仅供参考。

[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <configuration>  
  3.      <!-- 日志保存路径为tomcat下面的logs下面的mobileLog文件夹,logback会自动创建文件夹,这样设置了就可以输出日志文件了  
  4.          <substitutionProperty name="logbase" value="${catalina.base}/logs/mobileLog/"  
  5.          /> -->  
  6.      <substitutionProperty name="logbase" value="${user.dir}/logs/ " />  
  7.      <!-- 这个是要配置输出文件的 -->  
  8.      <jmxConfigurator />  
  9.      <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">  
  10.          <layout class="ch.qos.logback.classic.PatternLayout">  
  11.               <pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>  
  12.          </layout>  
  13.      </appender>  
  14.      <!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份) -->  
  15.      <appender name="logfile"  
  16.          class="ch.qos.logback.core.rolling.RollingFileAppender">  
  17.          <Encoding>UTF-8</Encoding>  
  18.          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  19.               <File>${logbase}%d{yyyy-MM-dd}.log.html</File>  
  20.               <FileNamePattern>${logbase}.%d{yyyy-MM-dd}.log.html.zip  
  21.               </FileNamePattern>  
  22.          </rollingPolicy>  
  23.          <triggeringPolicy  
  24.               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">  
  25.               <MaxFileSize>2MB</MaxFileSize>  
  26.          </triggeringPolicy>  
  27.          <layout class="ch.qos.logback.classic.html.HTMLLayout">  
  28.               <pattern>%date%level%thread%10logger%file%line%msg</pattern>  
  29.          </layout>  
  30.      </appender>  
  31.      <!-- Output by Email -->  
  32.      <!--  
  33.      <appender name="Email" class="ch.qos.logback.classic.net.SMTPAppender">  
  34.          <SMTPHost>stmp host name</SMTPHost>  
  35.          <To>Email Address</To>  
  36.          <To>Email Address</To>  
  37.          <From>Email Address</From>  
  38.          <Subject>TESTING Email Function: %logger{20} - %m</Subject>  
  39.          <layout class="ch.qos.logback.classic.html.HTMLLayout">  
  40.               <pattern>%date%level%thread%10logger%file%line%msg</pattern>  
  41.          </layout>  
  42.      </appender> -->  
  43.    
  44.      <!-- Output to Database -->  
  45.      <!--  
  46.      <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">  
  47.          <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">  
  48.               <driverClass>com.mysql.jdbc.Driver</driverClass>  
  49.               <url>jdbc:mysql://localhost:3306/test</url>  
  50.               <user>root</user>  
  51.               <password>trend_dev</password>  
  52.          </connectionSource>  
  53.      </appender> -->  
  54.      <root>  
  55.          <level value="debug" />  
  56.          <appender-ref ref="stdout" />  
  57.          <appender-ref ref="logfile" />  
  58.      </root>  
  59.    
  60. </configuration>  

3      测试


[java]  view plain  copy
  1. import lombok.extern.slf4j.Slf4j;  
  2. import org.junit.Test;  
  3.    
  4. @Slf4j  
  5. public class TestLogback {  
  6.    @Test  
  7.    public void testLog(){  
  8.       log.info("纯粹做测试");  
  9.    }  
  10.    
  11. }  

 

4      效果展示



  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
集成Spring Boot、Lombok、SLF4J和Logback有以下几个步骤: 1. 引入依赖:在`pom.xml`文件中引入以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Lombok依赖 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!-- SLF4J依赖 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <!-- Logback依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> ``` 2. 创建日志配置文件:在`src/main/resources`目录下创建`logback.xml`文件,并在其中配置日志输出格式、日志级别等信息。示例配置文件如下: ``` <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 定义日志输出格式 --> <property name="LOG_PATTERN" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/> <!-- 控制台输出 --> <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!-- 文件输出 --> <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/spring-boot-demo.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/spring-boot-demo-%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!-- 定义日志级别 --> <root level="INFO"> <appender-ref ref="consoleAppender"/> <appender-ref ref="fileAppender"/> </root> </configuration> ``` 3. 在代码中使用SLF4J:使用SLF4J的API进行日志输出,示例代码如下: ``` import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { private static final Logger LOGGER = LoggerFactory.getLogger(HelloController.class); @GetMapping("/hello") public String hello() { LOGGER.debug("debug message"); LOGGER.info("info message"); LOGGER.warn("warn message"); LOGGER.error("error message"); return "Hello, world!"; } } ``` 4. 使用Lombok简化代码:使用Lombok注解简化代码,示例代码如下: ``` import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController @Slf4j public class HelloController { @GetMapping("/hello") public String hello() { log.debug("debug message"); log.info("info message"); log.warn("warn message"); log.error("error message"); return "Hello, world!"; } } ``` 以上就是集成Spring Boot、Lombok、SLF4J和Logback的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值