如何用java自动输出1-10_Java接口自动化之log4j日志框架

0c19712c5e9858d1fc4bd9074d93ebdd.png

143ed5da593564b7a55184a671ca63b4.gif

本文2788字

阅读约需7分钟

第13次推送

上一篇Java接口自动化系列文章:Java接口自动化之IDEA创建及运行maven项目,主要介绍如何用IDEA创建maven项目、maven项目结构介绍及maven项目运行实战。

以下主要介绍Java日志框架Log4j。

01 log4j简介

1 log4j介绍

Log4j(log for java)是java流行的日志框架,可以方便的记录日志。

2 log4j特点

①灵活的配置日志的输出方式、优先级及输出格式; ②方便显示程序运行时的调试信息。

3 log4j日志级别

log日志,按照严重程度分为五个等级:DEBUG、INFO、WARN、ERROR和FATAL。

Log4j默认日志级别为INFO,规则是只输出比默认日志级别高的等级,即只输出INFO、WARN、ERROR和FATAL等级,DEBUG等级则不会输出。

02 log4j日志三大部分

Log4j三大组成部分:

  • Loggers 日志等级

  • Appenders  日志输出到哪,控制台or文件?

  • Layouts 日志输出格式

接下来根据这三大组成部分分别介绍如何配置日志。

1 Loggers 日志等级

log日志,按照严重程度分为五个等级:DEBUG、INFO、WARN、ERROR和FATAL。

Log4j默认日志级别为INFO,规则是只输出比默认日志级别高的等级,即只输出INFO、WARN、ERROR和FATAL等级,DEBUG等级则不会输出。

在log4j.properties中,设置日志等级及输出源:

# 设置日志等级及输出源
log4j.rootLogger = INFO,console,file

其中,INFO为日志等级,console,file表示需要输出到控制台和文件中。

Appender 日志输出位置

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级别");
        
    }
}

代码说明:

  • Logger.getLogger(Log4jTest.class),其中参数Log4jTest.class中的Log4jTest表示当前Log4jTest这个类,作用是追踪Log4jTest类产生的日志。

  • logger.debug,logger.info,logger.warn,logger.error表示要输出的日志级别,默认级别info。

④运行代码,查看实际日志运行效果。

控制台日志输出:

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中,日志记录如下:

9b0774e75f548b4db2343e9da9a88994.png

(完)

03e33392a42095472504118cb5256964.gif

ITester测试开发小栈(ID:TestDevZone),技术人茶余饭后的充电宝,每周上午11:30更新文章。从精进的软件测试到硬核的测试开发、从精细的前端开发到缜密的后端开发,前沿互联网资讯传送,宝藏IT资源分享,热门招聘发布。

89cf92c6b50d86cb03d1cf4e3b05913d.gif

喜欢记得星标置顶,让我们一起守护成长

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值