log4j配置输出日志文件

时间:2022-12-22 18:29:31

在测试程序时,有时候运行一次可能需要很久,把日志文件保存下来是很有必要的,本文给出了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最前面的地方,在需要的地方用第二行代码就能往日志中打印特定信息了