日志的记录和输出是很常见的功能应用,通过查阅资料和动手实践,基于IDEA实现了Log4j的日志输出功能
相关基本知识介绍可以参见以下链接
https://www.cnblogs.com/liaojie970/p/7634838.html
https://blog.csdn.net/wqc19920906/article/details/79888568
https://logging.apache.org/log4j/2.x/manual/appenders.html#FileAppender
https://blog.csdn.net/u013870094/article/details/79518028
下面记录自己的实践过程:
1)新建一个Java项目
在IDEA中新建一个LogTest的普通类,在src目录下新建一个log4j的配置文件,文件名为log4j,采用properties格式(也可采用xml格式)
自己定义log4j.properties文件:
log4j.rootLogger = [level], appenderName1, appenderName2 //设置日志记录级别以及将该级别输出到指定的appenderName1中[level]可以为DEBUG,INFO, WARN, ERROR, FATAL等
appenderName为自己要输出的地方,可以为console(程序输出窗口),file(输出到文件)等等
以console和file为例
log4j.rootLogger = INFO,console,file //指定输出级别INFO和该级别对应的appenderName为console和file #console log4j.appender.console = org.apache.log4j.ConsoleAppender //配置appenderName为console的对象,为ConsoleAppender,即输出为程序窗口 log4j.appender.console.layout = org.apache.log4j.PatternLayout //配置输出格式layout为PatternLayout,可选为{PatternLayout, SimpleLayout, HTMLLayout, TTCCLayout } //其他为赋值的属性值采用默认值 #file log4j.appender.file = org.apache.log4j.FileAppender //配置appenderName为file的对象,其值为FileAppender,即输出为日志文件 log4j.appender.file.File = e:/logs/info.log //指定输出的目录及文件名 log4j.appender.file.layout = org.apache.log4j.SimpleLayout //配置日志输出格式为SimpleLayout*注意 在#console和file中,必须和rootLogger中设置的appenderName匹配。
LogTest.java文件
import org.apache.log4j.Logger; public class LogTest { private static Logger log = Logger.getLogger(LogTest.class); //新建log对象,其中getLogger中的参数一般为类名 public static void main(String[] args) { log.info("This a test for Log"); String msg = "This a info"; System.out.println(msg); log.info(msg); msg = "This a warn"; System.out.println(msg); log.warn(msg); } }运行结果:
日志记录结果: