log4j异常处理

目录

警告:WARN Please initialize the log4j system properly 

错误java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory


警告:WARN Please initialize the log4j system properly 

  • 现象

  • 原因:没有为log4j建立配置文件
  • 解决

方法一:在 src文件目录(最好resources)下建立配置文件log4j.properties

//log4j.properties

log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

方法二:在 src文件目录(最好resources)下建立配置文件log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>

  <!-- 输出日志到控制台 ConsoleAppender -->
  <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
    <param name="Threshold" value="info"></param>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %p [%t] %37c %x: %m%n"></param>
    </layout>
  </appender>

  <!-- debug -->
  <appender name="dailyDebugFile" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="Threshold" value="debug"></param>
    <param name="Append" value="true"></param>
    <param name="File" value="../logs/debug/api_demo_debug.log"></param>
    <param name="DatePattern" value="'.'yyyy-MM-dd"></param>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %p [%t] %37c %x: %m%n"></param>
    </layout>
  </appender>

  <!-- info -->
  <appender name="dailyInfoFile" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="Threshold" value="info"></param>
    <param name="Append" value="true"></param>
    <param name="File" value="../logs/info/api_demo_info.log"></param>
    <param name="DatePattern" value="'.'yyyy-MM-dd"></param>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %p [%t] %37c %x: %m%n"></param>
    </layout>
  </appender>

  <!-- error -->
  <appender name="dailyErrorFile" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="Threshold" value="error"></param>
    <param name="Append" value="true"></param>
    <param name="File" value="../logs/error/api_demo_error.log"></param>
    <param name="DatePattern" value="'.'yyyy-MM-dd"></param>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %p [%t] %37c %x: %m%n"></param>
    </layout>
  </appender>

  <root>
    <priority value="info" />
    <appender-ref ref="stdout" />
    <appender-ref ref="dailyDebugFile" />
    <appender-ref ref="dailyInfoFile" />
    <appender-ref ref="dailyErrorFile" />
  </root>
</log4j:configuration>

错误java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory

原因:缺少commons-logging包

解决

//方式一:下载jar包


//方式二:添加依赖
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>

猜你喜欢

转载自blog.csdn.net/qq_28202661/article/details/94740702