web-dev-qa-db-ja.com

log4j:WARNロガーのアペンダーが見つかりませんでした(Webアプリではなくjarファイルを実行しています)

最初に-はい、私はこのトピックに関する複数の質問と回答を読みましたが、それらの中で私を助ける解決策を得ることができません。 TomcatまたはJBossを実行しておらず、変更するweb.xmlファイルがありません。 Java 6.0およびlog4j-1.2.8.jarを使用しています。

IDEA IntelliJで実行可能なjarファイルを作成します。jarファイルは個別にパッケージ化され、マニフェスト経由でリンクされています。 Linuxサーバーでコードを実行しています:

me@server:/mydir> Java -jar code/myjar.jar
log4j:WARN No appenders could be found for logger (FactoredEventsForTrna).
log4j:WARN Please initialize the log4j system properly.

私のlog4j設定ファイル(念のため、mydirmydir/codeの両方に配置しました)は次のとおりです。

## Logger configure file for myproject
log.dir=log/
datestamp=yyyy-MM-dd/HH:mm:ss.SSS
log4j.rootLogger=TRACE, file, proappender, console

log4j.appender.file=org.Apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=1GB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.File=log/mydebug.log
log4j.appender.file.threshold=TRACE
log4j.appender.file.layout=org.Apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %c{2} - %m%n

log4j.appender.proappender=org.Apache.log4j.RollingFileAppender
log4j.appender.proappender.maxFileSize=5GB
log4j.appender.proappender.Threshold=INFO
log4j.appender.proappender.File=log/myinfo.log
log4j.appender.proappender.layout=org.Apache.log4j.PatternLayout
log4j.appender.proappender.layout.ConversionPattern=%d{${datestamp}} %5p: %c{2} - %m%n

log4j.appender.console=org.Apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=org.Apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %c{2} - %m%n

また、念のため、mydirおよびlog/mydir/codeディレクトリを作成しました。

何か案は?

53
Ina

Log4j構成を指定するための多くの可能なオプションがあります。 1つは、ファイルに「log4j.properties」という名前を付けてクラスパスに含めることです。別の方法は、次のように、Javaを起動するときに、必要な名前を付けてコマンドラインにシステムプロパティを追加することです。

-Dlog4j.configuration=file:///path/to/your/log4j.properties

それらのすべての概要はここにあります http://logging.Apache.org/log4j/1.2/manual.html#defaultInit

59
John Watts

解決

  1. ダウンロードlog4j.jarファイル
  2. log4j.jarファイルをビルドパスに追加します
  3. ロガーを呼び出す:

    private static org.Apache.log4j.Logger log 
        = Logger.getLogger(<class-where-this-is-used>.class);
    
  4. log4jプロパティが存在しない場合は、bin4ディレクトリに新しいファイルlog4j.propertiesファイルを作成します。

    /workspace/projectdirectory/bin/
    

サンプルlog4j.propertiesファイル

log4j.rootLogger=debug, stdout
log4j.appender.stdout=org.Apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.Apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%t %-5p %c{2} - %m%n 
43
mel3kings

私はlog4j.propertiesをresourcesフォルダーに移動しましたが、うまくいきました!

10
Gloria Rampur

男、私はEclipseプロジェクトの1つで問題を抱えていました。驚くべきことに、問題は.projectファイル内のjarの順序でした。信じようと信じまいと!

3
MadMad666

De log4j.properties in solr/examples/resourcesにあります。

ファイルが見つからない場合は、ここに置きます:

#  Logging level
solr.log=logs/
log4j.rootLogger=INFO, file, CONSOLE

log4j.appender.CONSOLE=org.Apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.Apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n

#- size rotation with log cleanup.
log4j.appender.file=org.Apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=4MB
log4j.appender.file.MaxBackupIndex=9

#- File to log to and log format
log4j.appender.file.File=${solr.log}/solr.log
log4j.appender.file.layout=org.Apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n

log4j.logger.org.Apache.zookeeper=WARN
log4j.logger.org.Apache.hadoop=WARN

# set to INFO to enable infostream log messages
log4j.logger.org.Apache.solr.update.LoggingInfoStream=OFF

よろしく

2
Carlos Espeleta

Log4j.propertiesファイルをsrcフォルダーに移動します。 Windowsエクスプローラを開き、プロジェクトが存在するディレクトリを参照します。binディレクトリを参照し、その中のfoldersをすべて削除します。

Eclipseでプロジェクトをクリックします----> clean ----> OK

これにより、プロジェクトが再度ビルドされ、binディレクトリから削除されたすべてのコンテンツが再作成されます。

これを理解するのに時間がかかりました。時々、直接クリーニングをクリックしても機能しない

1
ramit girdhar

Javaビルドパスソースにログイン用のプロパティファイルがあるフォルダーを配置します。プロジェクトを右クリックして追加できます---->ビルドパス----->ビルドパスの構成------> add t

0
user3112014