日志的记录和输出是很常见的功能应用,通过查阅资料和动手实践,基于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);
}
}
运行结果:
日志记录结果: