Java中日志的示例分析

小編給大家分享一下Java中日志的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)專注于怒江州企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站制作。怒江州網(wǎng)站建設(shè)公司,為怒江州等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

   

Log4j

Log4j 的全稱為 Log for java,即專門用于 Java 語言的日志記錄工具。

日志級別

為了方便對于日志信息的輸出顯示,對日志內(nèi)容進(jìn)行了分級管理。日志級別由高到低,共分 6 個(gè)級別:

fatal(致命的)

error

warn

info

debug

trace(堆棧)

日志屬性配置文件

日志屬性文件 log4j.properties 是專門用于控制日志輸出的。其主要進(jìn)行三方面控制:

輸出位置:控制日志將要輸出的位置,是控制臺還是文件等。

輸出布局:控制日志信息的顯示形式。

輸出級別:控制要輸出的日志級別。

日志屬性文件由兩個(gè)對象組成:日志附加器與根日志。

根日志,即為 Java 代碼中的日志記錄器,其主要由兩個(gè)屬性構(gòu)成:日志輸出級別與日志附加器。

日志附加器,則由日志輸出位置定義,由其它很多屬性進(jìn)行修飾,如輸出布局、文件位置、文件大小等。

所謂日志附加器,就是為日志記錄器附加上很多其它設(shè)置信息。附加器的本質(zhì)是一個(gè)接口,其定義語法為:log4j.appender.appenderName = 輸出位置

常用的附加器實(shí)現(xiàn)類

org.apache.log4j.ConsoleAppender:日志輸出到控制臺

org.apache.log4j.FileAppender:日志輸出到文件

org.apache.log4j.RollingFileAppender:當(dāng)日志文件大小到達(dá)指定尺寸的時(shí)候?qū)a(chǎn)生一個(gè)新的日志文件

org.apache.log4j.DailyRollingFileAppender:每天產(chǎn)生一個(gè)日志文件

org.apache.log4j.HTMLLayout:網(wǎng)頁布局,以 HTML 表格形式布局

org.apache.log4j.SimpleLayout:簡單布局,包含日志信息的級別和信息字符串

org.apache.log4j.PatternLayout:匹配器布局,可以靈活地指定布局模式。其主要是通過設(shè)置

ConversionPattern格式輸出

PatternLayout 的 ConversionPattern 屬性值來控制具體輸出格式的 。

打印參數(shù): Log4J 采用類似 C 語言中的 printf 函數(shù)的打印格式格式化日志信息

%m:輸出代碼中指定的消息

%p:輸出優(yōu)先級,即 DEBUGINFO,WARN,ERROR,FATAL

%r:輸出自應(yīng)用啟動(dòng)到輸出該 log 信息耗費(fèi)的毫秒數(shù)

%c:輸出所屬的類目,通常就是所在類的全名

%t:輸出產(chǎn)生該日志事件的線程名

%n:輸出一個(gè)回車換行符,Windows 平臺為 /r/n,Unix 平臺為 /n

%d:輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為 ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},輸出類似:2002年10月18日 22:10:28,921

%l:輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。舉例:Testlog4.main(TestLog4.java: 10 )

在 src/main/resources 目錄下創(chuàng)建名為 log4j.properties 的屬性配置文件

日志配置相關(guān)說明:

log4j.rootLogger:根日志,配置了日志級別為 INFO,預(yù)定義了名稱為 console、file 兩種附加器
log4j.appender.console:console 附加器,日志輸出位置在控制臺
log4j.appender.console.layout:console 附加器,采用匹配器布局模式
log4j.appender.console.layout.ConversionPattern:console 附加器,日志輸出格式為:日期 日志級別 [類名] - 消息換行符
log4j.appender.file:file 附加器,每天產(chǎn)生一個(gè)日志文件
log4j.appender.file.File:file 附加器,日志文件輸出位置 logs/log.log
log4j.appender.file.layout:file 附加器,采用匹配器布局模式
log4j.appender.A3.MaxFileSize:日志文件最大值
log4j.appender.A3.MaxBackupIndex:最多紀(jì)錄文件數(shù)
log4j.appender.file.layout.ConversionPattern:file 附加器,日志輸出格式為:日期 日志級別 [類名] - 消息換行符

slf4j

slf4j 的全稱是 Simple Loging Facade For Java,即它僅僅是一個(gè)為 Java 程序提供日志輸出的統(tǒng)一接口,并不是一個(gè)具體的日志實(shí)現(xiàn)方案,就比如 JDBC 一樣,只是一種規(guī)則而已。所以單獨(dú)的 slf4j 是不能工作的,必須搭配其他具體的日志實(shí)現(xiàn)方案。

占位符說明

打日志的時(shí)候使用了 {} 占位符,這樣就不會有字符串拼接操作,減少了無用 String 對象的數(shù)量,節(jié)省了內(nèi)存。并且,記住,在生產(chǎn)最終日志信息的字符串之前,這個(gè)方法會檢查一個(gè)特定的日志級別是不是打開了,這不僅降低了內(nèi)存消耗而且預(yù)先降低了 CPU 去處理字符串連接命令的時(shí)間。

日志命名和保持期限

在公開的阿里巴巴 java 開發(fā)手冊中對日志規(guī)范也有相關(guān)介紹,在此,筆者介紹其中兩條規(guī)范,即日志命名方式和日志保存期限。

  • 日志命名方式:

其中 appName 表示應(yīng)用名;logType 表示日志類型,推薦分類有 stats,monitor,visit 等;logName 為日志描述,這種命名好處是可以快速清晰地了解日志文件類型和目的,便于歸類查找。

  • 日志保持期限:

如何確定日志保持期限是個(gè)比較棘手的問題,如果日志存放時(shí)間過長,會消耗大量存儲資源,甚至?xí)?dǎo)致磁盤壓力過大影響系統(tǒng)穩(wěn)定性;如果日志存放時(shí)間過短,可能導(dǎo)致日志數(shù)據(jù)“丟失”,出現(xiàn)問題時(shí)無法追溯。阿里  java 開發(fā)手冊中對日志文件保存期限的建議是至少保存 15  天。在實(shí)際應(yīng)用中,可以根據(jù)日志文件的重要程度、文件大小以及磁盤空間自行調(diào)整,此外,還可以對日志進(jìn)行監(jiān)控,定期轉(zhuǎn)儲。

以上是“Java中日志的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享題目:Java中日志的示例分析
文章轉(zhuǎn)載:http://muchs.cn/article12/picigc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、電子商務(wù)、網(wǎng)站收錄、關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)