日志框架有很多,为此,slf4j : 日志门面,提供了统一的方式,是一套规范,可以结合日志框架一起使用,比如 log4j, logback 等;
一:slf4j 绑定到log4j的使用:
1:首先我们只需slf4j提供的pom依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
他会自动加载三个jar;不需要再导入log4j的依赖了;
2:添加配置文件:log4j.properties 或者 log4j.xml,默认放在Resources目录下:
下面是log4j.properties配置文件:
### set log levels ###
log4j.rootLogger = debug,stdout,D,E
### 输出控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%p]-[%-d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%l] - %m%n
### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = W:/sclogs/ssm/log/ssm.log
log4j.appender.D.Append = true
##输出 DEBUG 级别以上的日志
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
#设置每天滚动日志的名称
log4j.appender.D.DatePattern='.' yyyy-MM-dd
log4j.appender.D.layout.ConversionPattern =[%p]-[%-d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%l] - %m%n
## 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = W:/sclogs/ssm/errorLog/ssm_error.log
log4j.appender.E.DatePattern = '.' yyyy-MM-dd
log4j.appender.E.Append=true
#输出ERROR级别以上的日志
log4j.appender.E.Threshold=ERROR
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=[%p]-[%-d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%l] - %m%n
或者使用log4j.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!-- log的日志界别:fatal > eerror > info > debug -->
<log4j:configuration>
<!-- 若干个appender的定义 -->
<!--org.apache.log4j.ConsoleAppender 输出到控制台 -->
<appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
<!-- 输出格式 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%p]-[%-d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%l] - %m%n"/>
</layout>
</appender>
<!-- org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件 -->
<appender name="myFile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="DEBUG"/>
<param name="File" value="../../sclogs/ssm/log/ssm.log"/><!-- 文件的位置 -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/><!-- 是否选择追加 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%p]-[%-d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%l] - %m%n"/>
</layout>
</appender>
<!-- 错误日志单独保存到文件 -->
<appender name="myErrorFile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="ERROR"/>
<param name="File" value="../../sclogs/ssm/errorLog/ssm_error.log"/><!-- 文件的位置 -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/><!-- 是否选择追加 -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%p]-[%-d{yyyy-MM-dd HH:mm:ss}]-[%t]-[%l] - %m%n"/>
</layout>
</appender>
<!-- 根logger配置 -->
<root>
<!-- 设置优先级,假设设置为info,则无法输出debug级别的日志 -->
<priority value="debug"/>
<!-- <priority value="info"/>
<priority value="warning"/>
<priority value="eerror"/> -->
<!-- 添加上面设置的appender -->
<appender-ref ref="myConsole"/>
<appender-ref ref="myFile"/>
<appender-ref ref="myErrorFile"/>
</root>
</log4j:configuration>
二: slf4j绑定到logback的使用:
1:导入依赖:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
待续。。。