slf4j+logback 日志

1、SLF4J(Simple logging Facade for Java)

slf4j 供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,所以还需一个日志框架将最终日志名称,路径,日志的格式、记录级别、输出方式等都要通过接口绑定的具体的日志系统来实现,这些具体的日志系统就有log4j,logback,java.util.logging等,它们才实现了具体的日志系统的功能。

2、logback

   logback的整体性能比log4j较佳,而且原生实现slf4j接口。

    在resource路径下新建

   依赖jar包 

                    

 

<property name="LOG_HOME" value="/data/log/bcp"/> //日志路径
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
   <encoder>
      <pattern>[%date] [%-5level] [%class] - [%msg]%n</pattern>
   </encoder> //日志输出格式
</appender>  

<appender name="ALLFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
   <file>${LOG_HOME}/test.log</file>  //日志名称
   <append>true</append>
   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${LOG_HOME}/demo.%d{yyyy-MM-dd}.%i.log</fileNamePattern>  //日志保存最大文件后命名规则
      <maxHistory>2</maxHistory>
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
         <maxFileSize>50MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
   </rollingPolicy>
   <encoder>
      <pattern>[%date] [%-5level] [%logger] - [%msg]%n</pattern>
      <charset>UTF-8</charset>
   </encoder>
</appender>

<appender name="ERROFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
   <file>${LOG_HOME}/error.log</file>
   <append>true</append>
   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
      <maxHistory>7</maxHistory>
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
         <maxFileSize>50MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
   </rollingPolicy>
   <filter class="ch.qos.logback.classic.filter.LevelFilter">
      <level>ERROR</level>
      <onMatch>ACCEPT</onMatch>
      <onMismatch>DENY</onMismatch>
   </filter>
   <encoder>
      <pattern>[%date] [%-5level] [%logger] - [%msg]%n</pattern>
      <charset>UTF-8</charset>
   </encoder>
</appender>

<!--
   logger主要用于存放日志对象,也可以定义日志类型、级别
   name:表示匹配的logger类型前缀,也就是包的前半部分
   level:要记录的日志级别,包括 TRACE < DEBUG < INFO < WARN < ERROR
   additivity:作用在于children-logger是否使用 rootLogger配置的appender进行输出,
   false:表示只用当前logger的appender-ref,
   true:表示当前logger的appender-ref和rootLogger的appender-ref都有效
   -->
<logger name="test" level="debug" />
<!-- Spring framework logger -->
<logger name="org.springframework" level="info"></logger>
<logger name="org.spring.springboot.dao" level="debug"/>
<logger name="com.apache.ibatis" level="DEBUG"/>
<logger name="java.sql.Connection" level="DEBUG"/>
<logger name="java.sql.Statement" level="DEBUG"/>
<logger name="java.sql.PreparedStatement" level="DEBUG"/>

<root level="INFO">
    <!--<appender-ref ref="STDOUT"/>-->
   <appender-ref ref="ALLFILE"/>
   <appender-ref ref="ERROFILE"/>
</root>

3、代码引用

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 记录日志
 */
private Logger logger = LoggerFactory.getLogger(this.getClass());
logger.info("tt: add= {}", JSON.toJSONString(test));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值