【8分鐘】slf4j & log4j

概述

slf4j 不是具體的日志解決方案,它只服務(wù)于各種各樣的日志系統(tǒng)。按照官方的說法,slf4j 是一個用于日志系統(tǒng)的簡單 Facade,允許最終用戶在部署其應(yīng)用時使用其所希望的日志系統(tǒng)。
這篇文章將用 5 分鐘講解 slf4j 和 log4j 搭配使用的步驟和要點。

Maven 配置

<properties>
    <!-- Application settings -->
    <slf4j.version>1.7.10</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
</properties>

<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
</dependencies>

配置文件

在工程 resources 目錄下創(chuàng)建 log4j 配置文件:log4j.properties

# Define some default values that can be overridden by system properties
linden.root.logger=INFO,console
linden.log.dir=/home/work/logs/linden
linden.log.file=linden.log

# Define the root logger to the system property "linden.root.logger".
log4j.rootLogger=${linden.root.logger}

# Logging Threshold
log4j.threshhold=ALL

#
# Daily Rolling File Appender
#
log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DRFA.File=${linden.log.dir}/${linden.log.file}
log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
log4j.appender.DRFA.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

#
# console
# Add "console" to rootlogger above if you want to use this
#
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n


# Custom Logging levels
log4j.logger.org.springframework.security=ERROR
log4j.logger.org.apache.hadoop=INFO
log4j.logger.org.apache=WARN
log4j.logger.org.dbunit=WARN
log4j.logger.org.springframework=WARN
log4j.logger.com.mchange=INFO

上述配置中,linden 是我的項目名字,你可以根據(jù)你的具體需求做替換。

代碼實現(xiàn)

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

public class Test {

    private static final Logger logger = LoggerFactory.getLogger(Test.class);

    public static void main(String[] args) {
        logger.info("hello {}", "world");
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評論 6 342
  • 歷史 log4j可以當(dāng)之無愧地說是Java日志框架的元老,1999年發(fā)布首個版本,2012年發(fā)布最后一個版本,20...
    kelgon閱讀 10,291評論 3 53
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進行統(tǒng)計分析...
    時待吾閱讀 5,217評論 1 13
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進行統(tǒng)計分析...
    時待吾閱讀 5,159評論 0 6

友情鏈接更多精彩內(nèi)容