Log4j 入门总结
一、Log4j介紹
log4j是類似于java.util.logging的日志作用,即記錄一些有用信息,是一個日志框架;
log4j == log for Java
日志框架的作用:
(1)函數參數是否正確;
(2)軟件發布后,記錄用戶的每一步操作;
(3)記錄程序運行出錯位置;
log4j在http://logging.apache.org/log4j/1.2/download.html?中進行下載;
log4j的api文檔在log4j/site/apidocs/index.html中;
log4j可以改變日志記錄的形式比如HTML、Simple等;
log4j可以改變日志輸出的目的地,比如File、DB等;
?
二、配置使用Log4j
?
原本是一個zip包,取出jar包,并在Eclipse的某個Project build path導入;
?
三、簡單的使用Log4j
?
log4j需要配置文件log4j.properties進行配置,log4j.properties位于src目錄下;
log4j.properties規則:
(1)鍵值對;
(2)#代表注釋;
(3)不支持中文;
Log4jDemo.java
顯示結果:
[main] DEBUG org.impl.Log4jDemo - debug [main] INFO org.impl.Log4jDemo - info [main] ERROR org.impl.Log4jDemo - error
這樣一個簡單的log4j應用。
?
這個配置文件的意思是:
rootLogger表示最低顯示等級,即顯示debug等級及以上的信息;
appender1表示一個名字;
ConsoleAppender表示輸出到控制臺,如果想要輸出到文件,則可以使用FileAppender并制定文件名稱;
TTCCLayout是一種布局方式;
debug等級表示在編譯開發階段的信息;
error等級表示錯誤信息;
info等級表示一般的信息;
?
如果看到如下信息:
log4j:WARN No appenders could be found for logger (org.impl.Log4jDemo). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.表示配置文件位置不正確,應該放到src目錄下!四、逐步了解Log4j
任務1:將日志輸出到指定文件
只需要修改配置文件即可,配置文件修改為:
?
這樣就指定了日志輸出到工程目錄下的java0.log文件中;
注意:這個日志文件時追加類型的。
?
任務2:將日志輸出以HTML格式輸出(效果很好!)
修改配置文件為:
log4j.rootLogger=debug,appender1 log4j.appender.appender1=org.apache.log4j.FileAppender log4j.appender.appender1.File=./java0.html log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout即可;
?
任務3:同時輸出到控制臺和文件
修改配置文件為:
log4j.rootLogger=debug,appender1,appender2 log4j.appender.appender1=org.apache.log4j.FileAppender log4j.appender.appender1.File=./log4j.HTML log4j.appender.appender1.layout=org.apache.log4j.HTMLLayoutlog4j.appender.appender2=org.apache.log4j.ConsoleAppender log4j.appender.appender2.layout=org.apache.log4j.SimpleLayout五、Log4j核心組件
?
1.Logger
?
設定了顯示日志的級別;
常用級別為debug,info,warn,error,fatal;
?
2.Appender
?
設定了日志的輸出目的;
常用有:
(1)ConsoleAppender
(2)FileAppender
(3)DailyRollingFileAppender? 一天換一個文件
(4)JdbcAppender?? 輸出到數據庫
?
3.Layout
?
設定日志的內容格式;
?
常用有:
(1)HTMLLayout;
(2)TTCCLayout;
(3)PatternLayout;制定布局樣式
?
如果要設置PatternLayout,必須將配置文件修改為以下形式:
格式形式如下:
%p:日志優先級(debug、info)
%t:輸出日志的線程名;
%d{yyyy-MM-dd HH:mm:ss}:時間;
%c:所屬類名;
%r:日志輸出所花時間;
%n:換行;
%l:日志所在行;
%m:信息;
%M:方法;
?
比如:
%r [%t] -%l %p %d{yyyy-MM-dd HH:mm:ss} %n
顯示如下:
3 [main] -org.impl.Log4jDemo.main(Log4jDemo.java:10) ERROR 2012-01-11 17:11:37
3表示所花時間;
[main]表示線程;
org.impl.Log4jDemo.main(Log4jDemo.java:10) 表示?? %l?? ;
ERROR表示%p;
?
?
?
?
?
轉載于:https://www.cnblogs.com/xiazdong/archive/2012/01/11/3058101.html
總結
以上是生活随笔為你收集整理的Log4j 入门总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLite中利用事务处理优化DB操作
- 下一篇: Thread系列——ThreadPool