在测试程序时,有时候运行一次可能需要很久,把日志文件保存下来是很有必要的,本文给出了scala程序输出日志文件的方式,同时使用本人的另一篇博客中介绍的将log4j.properties放到程序jar包之外的方式,从而可以方便地修改日志显示的级别,日志文件路径等
链接:http://www.cnblogs.com/starwater/p/6703702.html
配置文件
首先是log4j.properties的配置
要实现的功能有
1、定义日志级别
2、输出日志到文件,并且控制日志文件大小
3、输出日志到控制台
# Define the root logger with appender file
log = D:/logs
#定义LOG输出级别、输出到控制台、文件
log4j.rootLogger = ERROR,STDOUT, FILE # 定义文件file appender 设置文件大小和个数 以及文件位置
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.MaxFileSize=10MB
log4j.appender.FILE.MaxBackupIndex=3
log4j.appender.FILE.File=${log}/testLog.log # 定义控制台 STDOUT appender
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.Target=System.out # 定义日志输出目的地为文件
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
#定义日志输出目的地为控制台
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%m%n
代码引用
先通过博客一开始提到的另外一篇的方式定位log4j.properties的绝对路径后,使用 PropertyConfigurator.configure(filePath) 引用即可
手动添加日志
比如当日志级别是error时,我们希望有一些信息反映到日志中,就可以使用如下方式
val logg=Logger.getLogger(this.getClass)
logg.error(s"!!!!!!失败!!!!!!!!!!")
第一行一般放在class或者object最前面的地方,在需要的地方用第二行代码就能往日志中打印特定信息了