目次
警告: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>