3

このログがファイルに書き込まれない理由は誰にも分かりますか? 標準出力に 2 回書き込みますが、ファイルには書き込みません。

また、「Stdout」アペンダーを削除しようとしましたが、ログがまったく取得されません。

package org.berlin.wicket;
import org.apache.log4j.Logger;
private static final Logger LOG = Logger.getLogger(QuickstartPage.class);
LOG.info("Loading constructor");

log4j.rootLogger=DEBUG,Stdout,mainAppender

log4j.appender.Stdout=org.apache.log4j.ConsoleAppender log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n

log4j.appender.mainAppender=org.apache.log4j.DailyRollingFileAppender

log4j.appender.mainAppender.file=logs/core.log

log4j.appender.mainAppender.datePattern='.'yyyy-MM-dd

log4j.appender.mainAppender.append=true

log4j.appender.mainAppender.layout=org.apache.log4j.PatternLayout

log4j.appender.mainAppender.layout.ConversionPattern=[%d{MM/dd/yyyy HH:mm:ss.SSS}] [%C{1}.%M():%L] [%t] [%p ] - %m%n

log4j.logger.org.berlin=DEBUG,Stdout,mainAppender

4

3 に答える 3

3

同じアペンダー (Stdout) を使用する 2 つのロガーがあるため、コンソールにエントリが 2 回表示されるのはなぜですか。

他の人が述べたように、プロパティは大文字と小文字が区別されるため、ファイルアペンダーが正しく構成されていません。

于 2012-12-19T14:59:30.893 に答える
2

およびプロパティは大文字Fileと小文字を区別します。Append

log4j.appender.mainAppender.File=someFileName.log log4j.appender.mainAppender.Append=true

于 2012-12-19T14:45:06.877 に答える
-4

myfile.log というファイルにログを書き込む FileHandler のインスタンスを作成する必要があります。

FileHandler fileHandler = new FileHandler("myfile.log", true);        
logger.addHandler(fileHandler);
于 2012-12-19T14:24:54.670 に答える