log4j2简单配置


Log4j2简单配置debug日志输出到文件,单个日志文件10MB,日志备份名中包含时间戳,具体xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="ERROR" monitorInterval="60">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss} [%level] %c{10} - %m%n"/>
        Console>
        
        <RollingFile name="DEBUG_LOG" fileName="../log/debug/xxx_debug.log"
        filePattern="../log/debug/xxx_debug%d{yyyyMMddHHmm}.log">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss:SSS}|%level|%l|%m%n" />
      <SizeBasedTriggeringPolicy size="10 MB" />
             <DefaultRolloverStrategy max="10"/>
        RollingFile>
    Appenders>
    
    <Loggers>
        <Root level="error">
            <AppenderRef ref="Console"/>
        Root>
        
        <Logger name="Debug_Log" level="info" additivity="false">  
            <AppenderRef ref="DEBUG_LOG" />  
        Logger>        
    Loggers>
Configuration>

在使用时,使用如下代码获取日志对象:

private static final String DEBUG_LOG = "Debug_Log";

public static Logger getDebugLog()
{
    return LoggerFactory.getLogger(DEBUG_LOG);
}

这里使用的是slf4j来打印日志,可以直接使用占位符而不需要拼接字符串打印,slf4j打印log4j管理也是最常用的的日志方案。

jar包引用: