タグ付けされた質問 「log4j」

log4jは、人気のあるJavaベースのロギングユーティリティです。これは、Apache Software Foundationのプロジェクトであり、Apache Software License、Version 2.0の下でライセンスされています。

6
Eclipse:log4j.xmlでlog4j.dtdを参照する
私はかなり長い間log4jを使用しており、通常はこれをlog4j.xmlの上部で使用します(おそらく他の多くの人と同じように、Googleによるとこれはその方法です): <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 明らかにこれは機能していますが、EclipseはXMLやその他すべてを記述するための状況依存ヘルプを提供していません。さらに、が見つからないという警告が常に表示されますlog4j.dtd。これを修正する方法に興味があります。 私はいくつかのことを試し、これらの作業をしました: <!DOCTYPE log4j:configuration SYSTEM "jar:file:/path/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd"> <!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> 上からわかるように、Mavenを使用しています。したがって、私はこれを試しましたが、失敗します: <!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd"> Eclipseは通常、クラスパス変数の処理方法を知っていますが、なぜこれが機能しないのですか?参照は実行時に機能しないことはわかっていますが、log4j.dtd(私が間違っていなければ)単純なこともできないので、問題にはなりません。 誰かがこれに光を当てることができますか?

1
log4j2でslf4jを使用する価値はありますか
log4j2でslf4jを使用するかどうかを決定できません。オンライン投稿に基づくと、パフォーマンスに影響があるようには見えませんが、本当に必要ですか? また、これらの点は、log4j2を支持するものです。 SLF4Jはアプリケーションに文字列のログを強制します。Log4j 2 APIは、テキストをログに記録する場合、CharSequenceのロギングをサポートしますが、オブジェクトをそのままロギングすることもサポートします。 Log4j 2 APIは、メッセージオブジェクトのロギング、Java 8ラムダ式、ガベージフリーロギングのサポートを提供します(可変引数配列の作成を回避し、CharSequenceオブジェクトのロギング時に文字列の作成を回避します)。
114 java  logging  log4j  slf4j  log4j2 

1
Java Loggingフレームワークのマーカーとは何ですか?それらを使用する理由は何ですか?
読んだときに初めてマーカーについて聞いた: http://slf4j.org/faq.html Loggerオブジェクトの使用可能なメソッドを確認します。 http://www.slf4j.org/api/org/slf4j/Logger.html http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html そして見つかったインターフェース: http://www.slf4j.org/api/org/slf4j/Marker.html http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Marker.html 私が得るより詳細な情報: http://logback.qos.ch/manual/filters.html しかし、まだ混乱しています... それらをどのように使用するかではなく、理由を尋ねるので注意してください。これは、以下の複製ではありません。 SLF4J / Logbackでマーカーを使用するためのベストプラクティス UPDATEマーカーを使用する場合、XMLまたは.propertyファイルで構成を行う代わりにカスタムJavaコードを記述する必要があるようです... 更新2 http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluatorから Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN"); logger.error(notifyAdmin, "This is a serious an error requiring the admin's attention", new Exception("Just testing"));
110 java  logging  log4j  slf4j  logback 

17
slf4jでの実行時のメッセージのログレベルの設定
log4jを使用する場合、このLogger.log(Priority p, Object message)メソッドが使用可能であり、実行時に決定されたログレベルでメッセージを記録するために使用できます。この事実とこのヒントを使用していますを stderrを特定のログレベルのロガーにリダイレクトします。 slf4jにはlog()、私が見つけることができる一般的なメソッドがありません。それは、上記を実装する方法がないということですか?
100 java  logging  log4j  slf4j 

1
ログバックエンコーダーパターンのドキュメントはどこにありますか
ログバックのすべてのドキュメントを調べましたが、次のような、ログ記録時にエンコーダーのパターンを構成するためのドキュメントがどこにも見つかりません。 <encoder> <pattern>%d{HH:mm:ss.SSS} %-4relative %-5level %logger{35} - %msg%n</pattern> </encoder> パターンを構成するためのさまざまなオプションを説明した表(log4jにあるような表)が欲しいのですが。 パターンのドキュメントはどこにありますか?多分それらは別のプロジェクトで定義されていますか?
93 java  logging  log4j  logback 

6
Log4j XML構成ファイルを使用してHibernateロギングを構成しますか?
Log4jのXMLスタイルの構成ファイルを使用してHibernateのロギングを構成する方法に関するドキュメントを見つけることができませんでした。 これは可能ですか、またはプロパティスタイルの構成ファイルを使用してHibernateのログを制御する必要がありますか? 誰かが情報やドキュメントへのリンクを持っている場合は、それをいただければ幸いです。 編集: 明確にするために、私はHibernateを制御する実際のXML構文の例を探しています。 EDIT2: これが私の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="console" class="org.apache.log4j.ConsoleAppender"> <param name="Threshold" value="info"/> <param name="Target" value="System.out"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ABSOLUTE} [%t] %-5p %c{1} - %m%n"/> </layout> </appender> <appender name="rolling-file" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="Program-Name.log"/> <param name="MaxFileSize" value="1000KB"/> <!-- Keep one …


3
log4j.propertiesファイルのlog4j.rootLoggerプロパティの重要性は何ですか?このプロパティを使用しないとどうなりますか?
ファイル内のlog4j.rootLoggerプロパティの重要性は何log4j.propertiesですか?このプロパティを使用しないとどうなりますか? 例: # Set root logger level to DEBUG and its only appender to A1. log4j.rootLogger=DEBUG, A1 # A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender このプロパティをERRORモードに設定するとどうなりますか。

4
JUnitテストクラスのlog4jはどこで構成しますか?
私が書いた最後のJUnitテストケースを見て、クラスコンストラクター内でlog4jのBasicConfigurator.configure()メソッドを呼び出しました。これは、Eclipseの「runasJUnittestcase」コマンドからその単一のクラスを実行する場合に問題なく機能しました。しかし、私はそれが間違っていることに気づきました。メインのテストスイートがこれらすべてのクラスを1つのプロセスから実行していると確信しているため、log4j構成はどこかで行われるはずです。 ただし、テストケースを単独で実行する必要がある場合もあります。その場合は、log4jを構成する必要があります。テストケースがスタンドアロンで実行されるときに実行されるが、テストケースがより大きなスイートの一部として実行されるときに実行されないように、構成呼び出しをどこに配置する必要がありますか?
85 java  logging  junit  log4j 

7
java.util.loggingをlog4jに送信する方法は?
log4jに対してすべてのロギングを行う既存のアプリケーションがあります。log4jを使用するか、Commons Loggingに対してログを記録する他の多くのライブラリを使用します。これにより、環境の内部でlog4jが使用されることになります。依存関係の1つは、slf4jに対してもログを記録します。これは、最終的にはlog4jにも委任されるため、正常に機能します。 ここで、キャッシュのニーズに応じて、このアプリケーションにehcacheを追加したいと思います。以前のバージョンのehcacheはcommons-loggingを使用していましたが、これはこのシナリオでは完全に機能していましたが、バージョン1.6-beta1では、commons-loggingへの依存関係が削除され、代わりにjava.util.loggingに置き換えられました。 java.util.loggingで利用できる組み込みのJDKロギングにあまり詳しくないので、JULに送信されたログメッセージをlog4jに対してログに記録する簡単な方法があるので、既存の構成を使用して、今後のロギング用にセットアップできます。 ehcacheから? JULのjavadocsを見ると、LogManager使用する実装を変更するために一連の環境変数を設定し、おそらくそれを使用してlog4jをLoggerJULLoggerクラスでラップできるようです。これは正しいアプローチですか? 皮肉なことに、ライブラリで組み込みのJDKロギングを使用すると、世界の他の地域(ほとんど)が代わりにサードパーティのライブラリを使用している場合に、このような頭痛の種が発生します。


5
log4jを使用して異なるコンテンツの複数のログファイルを作成する
さまざまなレベルのログをさまざまなアペンダーに出力するようにlog4jを構成する方法はありますか? 複数のログファイルを設定しようとしています。メインログファイルは、すべてのクラスのすべてのINFO以上のメッセージをキャッチします。(開発中は、すべてのDEBUG以上のメッセージをキャッチし、特定のクラスのTRACEをキャッチします。) 次に、別のログファイルが必要です。そのログファイルは、クラスの特定のサブセットのすべてのDEBUGメッセージをキャッチし、他のクラスのすべてのメッセージを無視します。 私が求めているものを手に入れる方法はありますか? ありがとう、ダン
81 java  log4j 

4
Log4Jでしきい値はどういう意味ですか?
私はlog4j以下のようなプロパティを持っています。ログインしてTextProcessor.logいるものはすべてWARNレベルを超えています。ここでデバッグするために設定されているしきい値がわかりません。誰かがしきい値が何をするのか説明できますか? log4j.logger.TextProcessor=warn,TextProcessor log4j.appender.TextProcessor=org.apache.log4j.RollingFileAppender log4j.appender.TextProcessor.File=C:/project/logs/TextProcessor.log log4j.appender.TextProcessor.MaxFileSize=10MB log4j.appender.TextProcessor.MaxBackupIndex=10 log4j.appender.TextProcessor.Threshold=debug log4j.appender.TextProcessor.layout=org.apache.log4j.PatternLayout log4j.appender.TextProcessor.layout.ConversionPattern=[%d] [%5p] (%F:%L) - %m%n
80 java  logging  log4j 

10
Log4j、相対パスを使用するようにWebアプリを構成する
WinまたはLinuxマシンのいずれかにデプロイする必要のあるJavaWebアプリケーションがあります。ロギング用にlog4jを追加したいのですが、展開ごとにファイルパスを変更したくないので、ログファイルの相対パスを使用したいと思います。コンテナはTomcatである可能性が高いですが、必ずしもそうとは限りません。 これを行うための最良の方法は何ですか?

12
log4j:WARNweb.xmlにロガーのアペンダーが見つかりませんでした
すでにlog4jConfigLocationをweb.xmlに配置しましたが、それでも次の警告が表示されます。 log4j:WARN No appenders could be found for logger ⤦ ⤥ (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly. 私は何を取りこぼしたか? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext.xml </param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> <listener> …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.