Java学习笔记 - Log4j

Log4j

  • Log4j是一个功能强大的日志组件,提供方便的日志记录功能

写一个入门的实例

1.新建一个java工程,导入log4j的jar包

log4j-api-2.6.2.jar
log4j-core-2.6.2.jar

2.src同级下创建一个log4j2的xml文件

<?xml version="1.0" encoding="UTF-8"?>  
<Configuration status="WARN"> 
<!-- status属性表示log4j本身的日志打印级别 --> 
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,
如果设置为WARN,则低于WARN的信息都不会输出。对于Loggers中level的定义同样适用。 -->
    <Appenders>  
        <Console name="Console" target="SYSTEM_OUT">  
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t]%-5level %logger{36} - %msg%n" />  
        </Console>  
    </Appenders>  
    <Loggers>  
        <Root level="error">  
            <AppenderRef ref="Console" />  
        </Root>  
    </Loggers>  
</Configuration>  

3.编写一个log4j的测试类

package wei.wang;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Log4j2Test {
    public static void main(String[] args) {
        Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
        System.out.println(logger);
        logger.trace("trace level");  
        logger.debug("debug level");  
        logger.info("info level");  
        logger.warn("warn level");  
        logger.error("error level");  
        logger.fatal("fatal level");  
    }
}

4.输出测试结果

控制台输出结果

:ERROR in 1d16e93
15:52:59.429 [main] ERROR  - error level
15:52:59.430 [main] FATAL  - fatal level

5. log4j2.xml文件

xml文件中有一个根节点Configuration,有一个status属性表示log4j打印日志的级别。根节点下是Appenders节点,表示日志的输出目的地,Console下的PatternLayout定义了输出日志时的格式。

%d{HH:mm:ss.SSS} //表示输出到毫秒的时间
%t               //输出当前线程名称
%-5level         //输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0
%logger          //输出logger名称,因为Root Logger没有名称,所以没有输出
%msg             //日志文本
%n               //换行

其他常用的占位符有:

%F      //输出所在的类文件名,如Client.java
%L      //输出行号
%M      //输出所在方法名
%l      //输出语句所在的行数, 包括类名、方法名、文件名、行数

最后是Logger的配置,这里只配置了一个Root Logger。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值