Log4j的应用实例
建一張表,如下:
create?table?log4j
(
????logId?int?not?null?auto_increment,--流水號
????createDate?varchar(45)?default?null,--日志生成時間
????thread?varchar(45)?default?null,--當前線程
????level?varchar(45)?default?null,--當前日志的級別
????class?varchar(45)?default?null,--生成日志的類
????message?varchar(245)?default?null,--日志具體信息
????
????primary?key(logId)
)
編寫配置文件myLog4j.properties
#定義3個輸出端
log4j.rootCategory=INFO,A1,A2,A3
#定義A1輸出到控制器
log4j.appender.A1=org.apache.log4j.ConsoleAppender
#定義A1的布局模式為PaternLayout
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#?定義A1的輸出格式
log4j.appender.A1.layout.ConversionPattern=%4p?[%t]?(%F:%L)?-?%m%n
#定義A2輸出到文件
log4j.appender.A2=org.apache.log4j.RollingFileAppender
#定義A2輸出到哪個文件
log4j.appender.A2.File=./Sample.log
#定義A2輸出文件的最大長度
log4j.appender.A2.MaxFileSize?=?1KB
#定義A2的備份文件數
log4j.appender.A2.MaxBackupIndex?=?3
#定義A2的布局模式為PatternLayout
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
#定義A2的輸出模式
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd?hh:mm:ss}:%p?%t?%c?-?%m%n
#定義A3輸出到數據庫
log4j.appender.A3=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.A3.URL=jdbc:mysql://localhost:3306/study
log4j.appender.A3.driver=com.mysql.jdbc.Driver
log4j.appender.A3.user=root
log4j.appender.A3.password=root
#定義A3的布局和執行的SQL語句
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=INSERT?INTO?log4j(createDate,thread,level,class,message)?values(\'%d\',\'%t\',\'%-5p\',\'%c\',\'%m\')
最后測試程序如下:
public?static?void?sample()
????{
????????Logger?logger?=?Logger.getLogger(Log4jTest.class);
????????
????????PropertyConfigurator.configure("myLog4j.properties");
????????logger.debug("Here?is?DEBUG?messgae");
????????logger.info("Here?is?INFO?message");
????????logger.warn("Here?is?WARN?message");
????????logger.error("Here?is?ERROR?message");
????????logger.fatal("Here?is?FATAL?message");
????}
這樣當我們運行該程序的時候會同時將上述日志信息轉入到三個地方:
控制臺:
數據庫:
文件:
?
我們已經看到出現Sample.log文件,該文件我們在配置中指定,當然你也可以修改其它地方,另外Log4j的配置文件也放在項目根目錄下。
同時當我們多運行幾次該程序時,Sample.log超過1KB時就會將該文件自動改名,同時再將日志記錄到新的Sample.log文件中,如下:
轉載于:https://www.cnblogs.com/chmod755/p/3382862.html
總結
以上是生活随笔為你收集整理的Log4j的应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中split分隔字符串的应用
- 下一篇: WordPress主题制作常用代码集合