最近现场一个同步程序经常导致CPU 100%, 经分析判断, 很可能是这个同步程序频繁调用IO导致,因原有的日志是通过手工写文件,没有使用第三方工具,可能存在问题。所以今天一狠心就决定替换掉原来的写日志方式。
之前基本没碰过日志工具方面的东西,只是使用,一直有点犯怵。今天在网上一搜还是有很多,但各种说法都有,可能是条条道路通罗马吧,哈哈。不管那么多了,看网上说SLF4J+Log4j 这种方式不错。 SLF4J作为接口包, log4j做实现。 我使用的最新jar(log4j-1.2.17.jar,slf4j-api-1.7.7.jar,slf4j-log4j12-1.7.7.jar)。
然后配置log4j.properties, 具体内容如下:
log4j.rootLogger=debug,consoleAppender,fileAppender
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.Threshold=TRACE
log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss SSS} ->[%p] [%l]- %m%n
log4j.appender.fileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.fileAppender.File=./tnms-gis/tnms_info.log //相对路径
log4j.appender.fileAppender.MaxFileSize=100M //满100M则生成新文件
log4j.appender.fileAppender.MaxBackupIndex=10
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] [%l]- %m%n
注意,实际使用时请去掉其中的注释。
就这么简单。