先看Log4j的配置文件如下:
如果使用数据库,请添加数据库驱动,我感觉把日志输出到数据库挺好的,毕竟数据库中的数据不管是搜索,还是统计分析都比文件容易。
数据表创建代码如下:
如果是这样就可以果断管理程序的运行情况,比如你可以查看正在运行的服务器有多少服务是调用超时的,出错信息是什么等等,开发阶段,你还可以记录debug日志,不用每次运行都需要到服务器查看日志文件.而且日志文件数据多,打开慢,浪费时间.
- #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日志,不用每次运行都需要到服务器查看日志文件.而且日志文件数据多,打开慢,浪费时间.