log4j.properties 配置示例

时间:2022-09-14 16:37:26
  1. 需要的jar如下:

     !-- log4j -->
    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    </dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.4</version>
    </dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.4</version>
    <scope>runtime</scope>
    </dependency>
  2. log4j.properties放入项目src路径下即可,虚拟机会自动加载日志配置文件,文件内容如下:

     ### set log levels ###
    log4j.rootLogger = DEBUG , C , D , E ### console ###
    log4j.appender.C = org.apache.log4j.ConsoleAppender
    log4j.appender.C.Target = System.out
    log4j.appender.C.layout = org.apache.log4j.PatternLayout
    log4j.appender.C.layout.ConversionPattern = [mybatis_study][%p] [%-d{yyyy-MM-dd HH\:mm\:ss}] %C.%M(%L) | %m%n ### log file ###
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = ../logs/mybatis_study.log
    log4j.appender.D.Append = true
    log4j.appender.D.Threshold = INFO
    log4j.appender.D.layout = org.apache.log4j.PatternLayout
    log4j.appender.D.layout.ConversionPattern = [mybatis_study][%p] [%-d{yyyy-MM-dd HH\:mm\:ss}] %C.%M(%L) | %m%n ### exception ###
    log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.E.File = ../logs/mybatis_study_error.log
    log4j.appender.E.Append = true
    log4j.appender.E.Threshold = ERROR
    log4j.appender.E.layout = org.apache.log4j.PatternLayout
    log4j.appender.E.layout.ConversionPattern = [mybatis_study][%p] [%-d{yyyy-MM-dd HH\:mm\:ss}] %C.%M(%L) | %m%n ###mybatis show sql###
    log4j.logger.com.ibatis=debug
    log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
    log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
    log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug log4j.logger.java.sql.Connection=debug
    log4j.logger.java.sql.Statement=debug
    log4j.logger.java.sql.PreparedStatement=debug
  3. 也可以配置log4j.xml,如下:

       <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- [控制台STDOUT] -->
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="encoding" value="GBK" />
    <param name="target" value="System.out" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%-5p %c{2} - %m%n" />
    </layout>
    </appender> <!-- [公共Appender] -->
    <appender name="DEFAULT-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${webapp.root}/logs/rms-default.log" />
    <param name="Append" value="true" />
    <param name="encoding" value="GBK" />
    <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
    </layout>
    </appender> <!-- [错误日志APPENDER] -->
    <appender name="ERROR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${webapp.root}/logs/rms-error.log" />
    <param name="Append" value="true" />
    <param name="encoding" value="GBK" />
    <param name="threshold" value="error" />
    <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
    </layout>
    </appender> <!-- Root Logger -->
    <root>
    <level value="${rootLevel}"></level>
    <appender-ref ref="DEFAULT-APPENDER" />
    <appender-ref ref="ERROR-APPENDER" />
    <appender-ref ref="console" />
    </root>
    </log4j:configuration>