純Java配置使用slf4j配置log4j

工程目錄以下java

 

代碼裏面用的是slf4j,可是想要用log4j來管理日誌,就得添加slf4j原本的jar,而後添加log4j和slf4j箱關聯的jar便可。apache

 

若是是maven項目的話添加下面的依賴便可api

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.2</version>
</dependency>

 

 

注意,由於沒有寫log4j的加載路徑,因此必定要寫在src的下一級,中間不能有其餘的文件夾或包,否則就不起做用了,單獨用log4j的時候也要直接放在src,不能隨意亂放。app

 

 

 

log4j.propertiesmaven

### 設置###
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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 輸出DEBUG 級別以上的日誌到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 輸出ERROR 級別以上的日誌到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =D://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

java測試類測試

package test;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Log4jTestDemo {
    private static Logger logger = LoggerFactory.getLogger(Log4jTestDemo.class);

    /**
     * @param args
     */
    public static void main(String[] args) {
        // System.out.println("This is println message.");

        // 記錄debug級別的信息
        logger.debug("This is debug message.");
        // 記錄info級別的信息
        logger.info("This is info message.");
        // 記錄error級別的信息
        logger.error("This is error message.");
    }


}

爲何不直接用log4j,能夠百度一下,使用slf4j的好處spa

相關文章
相關標籤/搜索