Log4j配置详解

先看Log4j的配置文件如下:

#Log4J配置文件实现了输出到控制台、文件、回滚文件、自定义标签,数据库等功能。仅供参考。
log4j.rootLogger=DEBUG,CONSOLE,FILE,DLOGFILE,ROLLING_FILE,MYSQL_LOG
log4j.addivity.org.apache=true

#应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n

#应用于文件
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=d:\\file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n

#应用于按日期生成文件
log4j.appender.DLOGFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DLOGFILE.File=d:\\test.log
log4j.appender.DLOGFILE.Threshold=INFO
log4j.appender.DLOGFILE.DatePattern='.'yyyy-MM-dd
log4j.appender.DLOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.DLOGFILE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n

#应用于文件回滚
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=INFO
log4j.appender.ROLLING_FILE.File=d:\\rolling.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=1KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d{yyyyMMdd-HH:mm:ss} %t %c %m%n

# 数据库输出
log4j.appender.MYSQL_LOG=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.MYSQL_LOG.driver=com.mysql.jdbc.Driver
log4j.appender.MYSQL_LOG.URL=jdbc:mysql://127.0.0.1:3306/txl
log4j.appender.MYSQL_LOG.Threshold=ERROR
log4j.appender.MYSQL_LOG.user=root
log4j.appender.MYSQL_LOG.password=
log4j.appender.MYSQL_LOG.sql=insert into log_monitor(level,category,thread,time,location,note) values('%p','%c','%t','%d{yyyy-MM-dd HH:mm:ss:SSS}','%l','%m')
log4j.appender.MYSQL_LOG.layout=org.apache.log4j.PatternLayout
#虽然以上布局 没啥效果,但是可以减少告警提示

#自定义Appender ,输出到任意地方

如果使用数据库,请添加数据库驱动,我感觉把日志输出到数据库挺好的,毕竟数据库中的数据不管是搜索,还是统计分析都比文件容易。
数据表创建代码如下:

CREATE TABLE `log_icecoldmonitor` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`level` varchar(255) NOT NULL DEFAULT '' COMMENT '优先级',
`category` varchar(255) NOT NULL DEFAULT '' COMMENT '类目',
`thread` varchar(255) NOT NULL DEFAULT '' COMMENT '进程',
`time` varchar(30) NOT NULL DEFAULT '' COMMENT '时间',
`location` varchar(255) NOT NULL DEFAULT '' COMMENT '位置',
`note` text COMMENT '日志信息',
PRIMARY KEY (`Id`)
)

如果是这样就可以果断管理程序的运行情况,比如你可以查看正在运行的服务器有多少服务是调用超时的,出错信息是什么等等,开发阶段,你还可以记录debug日志,不用每次运行都需要到服务器查看日志文件.而且日志文件数据多,打开慢,浪费时间.

你可能感兴趣的:(Tool)