slf4j + log4j使用

来源:互联网 发布:java 日志输出级别 编辑:程序博客网 时间:2024/06/07 07:29

使用slf4j的好处就是方便替换日志框架。

1、创建maven项目。pom配置如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.sugar</groupId>  <artifactId>slf4j_Test</artifactId>  <version>1.0</version>  <name>slf4j_Test</name>    <properties>  <jdk.version>1.7</jdk.version>  <maven-compiler-plugin.version>2.5.1</maven-compiler-plugin.version>  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>    <dependencies><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-api</artifactId>    <version>1.7.25</version></dependency><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-log4j12</artifactId>    <version>1.7.25</version></dependency>  </dependencies>    <build>  <plugins>  <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><source>${jdk.version}</source><target>${jdk.version}</target><showWarnings>true</showWarnings></configuration></plugin>  </plugins>  </build></project>


2、log4j配置文件:log4j.properties,简单一点只配置了控制台日志

log4j.rootLogger = DEBUG,stdout#控制台打印log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.Threshold = DEBUGlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%nlog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = D://logs/log.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = INFO log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

3、测试类
package com.sugar;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class TestSlf4j {private static Logger log = LoggerFactory.getLogger(TestSlf4j.class);public static void main(String[] args) {log.info("test slf4j");Exception e = new NullPointerException("nullPoint...");log.info("测试占位符,错误信息:{},{},{},{}",e.getMessage(),"2","3","4");}}
slf4j提供了占位符功能。代码如上。

原创粉丝点击