log4j的使用

1. 導(dǎo)入包

spring boot中默認日志工具logback使用log4j需要在pom中做如下修改掏秩。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion> 
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

在src/main/resources目錄下加入log4j.properties配置文件

其他java工程

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

2.小例子

一共有6個級別 TRACE DEBUG INFO WARN ERROR FATAL

獲取日志對象

static Logger logger = Logger.getLogger(MyTestLog4j.class);

進行默認配置

BasicConfigurator.configure();

設(shè)置日志輸出級別

logger.setLevel(Level.DEBUG);

不同級別日志輸出

logger.trace("跟蹤信息");
logger.debug("調(diào)試信息");
logger.info("輸出信息");
Thread.sleep(1000);
logger.warn("警告信息");
logger.error("錯誤信息");
logger.fatal("致命信息");

demo代碼

public class TestLog4j {
    static Logger logger = Logger.getLogger(TestLog4j.class);
    public static void main(String[] args) throws InterruptedException {
        BasicConfigurator.configure();
        logger.setLevel(Level.DEBUG);
        logger.trace("跟蹤信息");
        logger.debug("調(diào)試信息");
        logger.info("輸出信息");
        Thread.sleep(1000);
        logger.warn("警告信息");
        logger.error("錯誤信息");
        logger.fatal("致命信息");
 
    }
}
image.png

3. 配置解析

在src目錄下添加log4j.properties文件
編寫類似如下配置

#設(shè)置日志輸出的等級為debug,低于debug就不會輸出了
#設(shè)置日志輸出到兩種地方,分別叫做 stdout和 R  名稱不固定 可以自定義
log4j.rootLogger=debug, stdout, R

  #分類輸出com.didispace包下的日志
  #log4j.category.com.didispace=DEBUG, didifile

  #對ERROR級別輸出到特定的日志文件中
  #log4j.logger.error=errorfile

#第一個地方stdout, 輸出到控制臺
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.appender.layout=org.apache.log4j.TTCCLayout
#輸出格式是 %5p [%t] (%F:%L) - %m%n
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# 第二個地方R, 以滾動的方式輸出到文件引有,文件名是example.log,文件最大100k, 最多滾動5個文件
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=5
#輸出格式是 %p %t %c - %m%n
log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

  #log4j.appender.file.DatePattern='.'yyyy-MM-dd
  #log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

采用指定配置文件 配置文件名為log4j.properties log4j.xml等 不需要寫這一句

PropertyConfigurator.configure("log4j.properties");

打印格式

log4j日志輸出格式一覽:

%c 輸出日志信息所屬的類的全名
%d 輸出日志時間點的日期或時間,默認格式為ISO8601库物,也可以在其后指定格式啃憎,比如:%d{yyy-MM-dd HH:mm:ss }颂跨,輸出類似:2002-10-18- 22:10:28
%f 輸出日志信息所屬的類的類名
%l 輸出日志事件的發(fā)生位置缰冤,即輸出日志信息的語句處于它所在的類的第幾行
%m 輸出代碼中指定的信息犬缨,如log(message)中的message
%n 輸出一個回車換行符,Windows平臺為“rn”棉浸,Unix平臺為“n”
%p 輸出優(yōu)先級怀薛,即DEBUG,INFO迷郑,WARN枝恋,ERROR,F(xiàn)ATAL嗡害。如果是調(diào)用debug()輸出的焚碌,則為DEBUG,依此類推
%r 輸出自應(yīng)用啟動到輸出該日志信息所耗費的毫秒數(shù)
%t 輸出產(chǎn)生該日志事件的線程名

%5p [%t] (%F:%L) - %m%n 就表示
寬度是5的優(yōu)先等級 線程名稱 (文件名:行號) - 信息 回車換行


image.png
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末就漾,一起剝皮案震驚了整個濱河市呐能,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抑堡,老刑警劉巖摆出,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異首妖,居然都是意外死亡偎漫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門有缆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來象踊,“玉大人,你說我怎么就攤上這事棚壁”兀” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵袖外,是天一觀的道長史隆。 經(jīng)常有香客問我,道長曼验,這世上最難降的妖魔是什么泌射? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮鬓照,結(jié)果婚禮上熔酷,老公的妹妹穿的比我還像新娘。我一直安慰自己豺裆,他們只是感情好拒秘,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般翼抠。 火紅的嫁衣襯著肌膚如雪咙轩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天阴颖,我揣著相機與錄音,去河邊找鬼丐膝。 笑死量愧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的帅矗。 我是一名探鬼主播偎肃,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浑此!你這毒婦竟也來了累颂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤凛俱,失蹤者是張志新(化名)和其女友劉穎紊馏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蒲犬,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡朱监,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了原叮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赫编。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖奋隶,靈堂內(nèi)的尸體忽然破棺而出擂送,到底是詐尸還是另有隱情,我是刑警寧澤唯欣,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布嘹吨,位于F島的核電站,受9級特大地震影響黍聂,放射性物質(zhì)發(fā)生泄漏躺苦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一产还、第九天 我趴在偏房一處隱蔽的房頂上張望匹厘。 院中可真熱鬧,春花似錦脐区、人聲如沸愈诚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炕柔。三九已至酌泰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匕累,已是汗流浹背陵刹。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留欢嘿,地道東北人衰琐。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像炼蹦,于是被迫代替她去往敵國和親羡宙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況掐隐,周期性的記錄到文件中供其他應(yīng)用進行統(tǒng)計分析...
    時待吾閱讀 4,988評論 0 6
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況狗热,周期性的記錄到文件中供其他應(yīng)用進行統(tǒng)計分析...
    時待吾閱讀 5,052評論 1 13
  • 大家好,我是IT修真院深圳分院第01期學(xué)員虑省,一枚正直純潔善良的web程序員匿刮。 今天給大家分享一下,修真院官網(wǎng)JAV...
    老菜菜閱讀 604評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理慷妙,服務(wù)發(fā)現(xiàn)僻焚,斷路器,智...
    卡卡羅2017閱讀 134,662評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,823評論 6 342