2017-07-18 25 views
0

他の関連する質問を見直しましたが、回答が見つかりませんでした。 https://logging.apache.org/log4j/extras/apidocs/org/apache/log4j/rolling/RollingFileAppender.htmlのjavadocsが間違っているか不完全なようです。少なくとも要素はそれに偽の二重引用符があるように見えます。 私はデバッグモードで起動しており、すべてが正常に見えます。しかし、私はログファイルを見つけることができません。私たちはうまく動作している他のカスタムアペンダーを持っていますが、私はそれらをOTBソリューションに置き換えようとしています。extras RollingFileAppenderがファイルを作成していません

<appender name="file" class="org.apache.log4j.rolling.RollingFileAppender"> 
    <param name="threshold" value="debug" /> 
    <rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
     <param name="FileNamePattern" value="logs/My_Server.%d{yyyy-MM-dd-hh}.log"/> 
    </rollingPolicy> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{ISO8601} %r [%t] %-5p %c{1} %x - %m%n"/> 
    </layout> 
    </appender> 

    <appender name="ASYNCfile" class="org.apache.log4j.AsyncAppender"> 
    <param name="BufferSize" value="500"/> 
    <param name="blocking" value="false"/> 
    <appender-ref ref="file"/> 
    </appender> 

<root> 
    <priority value="INFO"/> 
    <appender-ref ref="ASYNCfile"/> 
    <appender-ref ref="console"/> 
    </root> 

とデバッグコンソール: - 発見されるだけのファイルがない私は、コンソール出力リレーでこれに関連するエラーが表示されない

log4j: Attaching appender named [file] to appender named [ASYNCfile]. 
log4j: Class name: [org.apache.log4j.rolling.RollingFileAppender] 
log4j: Setting property [threshold] to [DEBUG]. 
log4j: Setting property [fileNamePattern] to [logs/My_Server.%d{yyyy-MM-dd-hh}.log]. 
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout" 
log4j: Setting property [conversionPattern] to [%d{ISO8601} %r [%t] %-5p %c{1} %x - %m%n]. 
log4j: setFile called: logs/My_Server.2017-07-17-05.log, true 
log4j: setFile ended 

は、ここに私の設定です。

+0

実際、私はハードドライブを検索し、予期しない場所にログファイルを配置しました。 Eclipseインストールディレクトリにあります。私はTomcatを実行していて、他のアペンダーは、サーバーを追加するときにEclipseが作成するTomcatランタイム・フォルダーにログを書き込んでいます。今私は、私が気づいていることを何も指定していないときに、なぜ彼らが2つの異なる場所に書き込んでいるのかを追跡する必要があります。 (他の人は私の前にlog4jを設定しています...) – Edward

+0

FileNamePatternの値は絶対パスでなければならないという点で、他の関連記事は指摘しています。少なくとも、ファイルがどこにあるのか混乱することはありません。 Javadocは、この値が相対的である場合、この値の処理については説明しません。最良のアドバイスは、$ {catalina.base}/logs/yourFileNamepatternを使用することです。うまくいけば、この投稿は他の人に役立つはずです。また、トラブルシューティングに役立つlog4j構成のdebug = trueフラグも使用してください。 – Edward

答えて

0

今後の作業で、自分の質問に答えました。投稿されたコメントを参照してください。

関連する問題