log4j 例外処理

目次

警告:WARN log4jシステムを適切に初期化してください 

エラー java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory


警告:WARN log4jシステムを適切に初期化してください 

  • 現象

  • 理由: log4j 用の構成ファイルが作成されていません
  • 解決

方法 1: src ファイル ディレクトリ (できればリソース) の下に構成ファイル 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

方法 2: src ファイル ディレクトリ (できればリソース) の下に構成ファイル 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