54

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

個別にパッケージ化され、マニフェストを介してリンクされたjarライブラリを使用して、IDEA IntelliJで実行可能な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

念のため、とにlog/ディレクトリを作成しました。mydirmydir/code

何か案は?

4

7 に答える 7

62

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

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

それらのすべてはここに概説されていますhttp://logging.apache.org/log4j/1.2/manual.html#defaultInit

于 2012-07-03T20:49:19.907 に答える
43

解決

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

    private static org.apache.log4j.Logger log 
        = Logger.getLogger(<class-where-this-is-used>.class);
    
  4. log4j プロパティが存在しない場合は、bin ディレクトリに新しいファイル 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 
于 2013-02-13T04:19:23.857 に答える
10

log4j.properties を resources フォルダーに移動したところ、問題なく動作しました。

于 2014-09-10T08:33:17.443 に答える
3

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

于 2014-02-11T23:05:09.237 に答える
0

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

于 2014-03-20T14:05:10.097 に答える