上一篇Java接口自动化系列文章:Java接口自动化之IDEA创建及运行maven项目,主要介绍如何用IDEA创建maven项目、maven项目结构介绍及maven项目运行实战。
以下主要介绍Java日志框架Log4j。
01 log4j简介
①灵活的配置日志的输出方式、优先级及输出格式;
②方便显示程序运行时的调试信息。
log日志,按照严重程度分为五个等级:DEBUG、INFO、WARN、ERROR和FATAL。
Log4j默认日志级别为INFO,规则是只输出比默认日志级别高的等级,即只输出INFO、WARN、ERROR和FATAL等级,DEBUG等级则不会输出。
02
log4j日志三大部分
Log4j三大组成部分:
接下来根据这三大组成部分分别介绍如何配置日志。
log日志,按照严重程度分为五个等级:DEBUG、INFO、WARN、ERROR和FATAL。
Log4j默认日志级别为INFO,规则是只输出比默认日志级别高的等级,即只输出INFO、WARN、ERROR和FATAL等级,DEBUG等级则不会输出。
在log4j.properties中,设置日志等级及输出源:
# 设置日志等级及输出源
log4j.rootLogger = INFO,console,file
其中,INFO为日志等级,console,file表示需要输出到控制台和文件中。
Appender 主要是用于定义日志输出到哪里,比如控制台、日志文件、数据库及邮件等。上面我们设置日志输出到console,file,那么接下来如何配置日志输出到console及file中呢。在log4j.properties中,设置日志输出位置。
输出到控制台:
# 输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
输出到日志文件
# 将日志记录在文件中, 每天一个备份文件
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
# 输出日志到具体文件中
log4j.appender.file.File = target/logs/auto_api.log
log4j.appender.file.Append = true
03
log4j日志实战
①创建maven项目(上篇介绍过,这里不再重复),在resources资源目录下新建文件log4j.properties。
②log4j.properties内容如下:
# 设置日志等级及输出源
log4j.rootLogger = INFO,console,file
# 输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %p %d{yyyy-MM-dd HH:mm:ss} --> [%t] %l: %m %x %n
# 输出到文件
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = target/logs/auto_api.log
log4j.appender.file.Append = true
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %p %d{yyyy-MM-dd HH:mm:ss} --> [%t] %l: %m %x %n
③创建Log4jTest类,编写代码。
import org.apache.log4j.Logger;
public class Log4jTest {
public static Logger logger = Logger.getLogger(Log4jTest.class);
public static void main(String[] args) {
test();
}
public static void test(){
logger.debug("这是debug级别");
logger.info("这是info级别");
logger.warn("这是warn级别");
logger.error("这是error级别");
}
}
代码说明:
④运行代码,查看实际日志运行效果。
控制台日志输出:
INFO 2020-12-31 16:17:04 --> [main] com.vivi.Log4jTest.test(Log4jTest.java:15): 这是info级别
WARN 2020-12-31 16:17:04 --> [main] com.vivi.Log4jTest.test(Log4jTest.java:16): 这是warn级别
ERROR 2020-12-31 16:17:04 --> [main] com.vivi.Log4jTest.test(Log4jTest.java:17): 这是error级别
之前配置文件log4j.properties里,将日志输入到target/logs下的auto_api.log中,日志记录如下:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。