1

Java Web アプリケーションで log4j を使用しようとしています。Tomcat 6 を使用しています。問題は、ログ ファイルが作成されないことです。

log4j.properties はクラスパスにあります。これは次のことを意味します。

  • My_Project 名
  • Java リソース
    • ソース
    • コード
    • log4j.properties

私が使用しているソースコードでは:

private static Logger log = Logger.getLogger(myclass.class);

そして、私が行を書き込もうとしているとき:

log.error("here the error message", e);

ここにも私のlog4j.propertiesファイルがあります:

 log4j.rootLogger=A1,file

log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} %5p [%t] %c{1}:%L - %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=5000KB
log4j.appender.file.maxBackupIndex=20
log4j.appender.file.File=URLFILE/file.log
log4j.appender.file.threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p [%t] %c{1}:%L - %m%n

これを実行しているときに、ログ ファイルが作成されないのはなぜですか?

4

3 に答える 3

1

あなたのlog4j.propertiesファイルについてはお手伝いできませんが、私が使用する作業log4j.xmlファイルを提供できます。

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

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="${catalina.home}/logs/Log.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <param name="Append" value="true"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %p - %m%n"/>
    </layout>
  </appender>

    <!--                           -->
    <!-- setup log4j's root logger -->
    <!--                           -->
    <root>
        <level value="DEBUG" />
        <appender-ref ref="FILE"/>
    </root>

</log4j:configuration>

とにかく、xml 構成が log4j を構成するための推奨される方法だと思います。

于 2012-08-28T22:22:20.040 に答える
0

すでにlog4J.propertyファイルをsrcに入れています。それはgudです。log4J.jarファイルもlibに入れてください...

于 2012-08-28T11:00:49.947 に答える
0

クラスパスに log4j.jar はありますか?

ルート ロガー レベルも設定する必要があるかもしれません。log4j.rootLogger= DEBUG, A1,file

于 2012-08-28T11:12:07.133 に答える