問題タブ [slf4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - パフォーマンスと一貫性の基準に基づいて、Javaのどのロガーフレームワークを使用する必要がありますか?
パフォーマンスと一貫性の基準に基づいて、Javaのどのロガーフレームワークを使用する必要がありますか?並行性の高いアプリケーションで使用する必要があり、ログラッパーを使用したくありません。
これらの要件に基づいて提案してください。
-Vaibhav
java - Hibernate、Spring、およびSLF4Jバインディング
maven2で管理された依存関係を使用してWebアプリをセットアップしようとしています。ここに私のpom.xml
何か問題があった場合は修正してください。ただし、これでうまくいくはずです。私はこの例外を日食に入れるだけです
私の設定の何が問題になっていますか?
java - SLF4JロガーのSpringコンストラクターインジェクション-インジェクションターゲットクラスを取得する方法は?
Springを使用してSLF4Jロガーを次のようなクラスに注入しようとしています。
FactoryBean
実装したクラスを見つけました。しかし、問題は、注入ターゲットに関する情報を取得できないことです。
FactoryBeanは正しい方法でさえありますか?ピココンテナのファクトリインジェクションを使用するType
と、ターゲットのが渡されます。推測では、少し注意が必要です。しかし、春にこれをどのように達成しますか?
java - commons-loggingを削除してslf4jを使用すると、春にエラーが発生します
具体的には、ApplicationContextを介してプロジェクトを構成するためにのみSpringを使用します。私の春のxmlでは、PropertyPlaceholderConfigurerを介していくつかのBeanプロパティをロードします。依存関係でcommons-logging-xxをjcl-slf4j.jarと交換するときはいつでも、プレースホルダー置換のClassNotFoundExceptionsでコンテキストのロードが失敗します。例:
私のspring.xmlには次のものがあります。
ここで、testbean.implementingClassはspring.propertiesで定義されています。
commons-logging jarを使用してプロジェクトを実行すると、すべてが完全に機能します。これをjcl-slf4jに変更すると、クラス[$ {testbean.implementingClass}]が見つからなかったというClassNotFoundExceptionが発生します。つまり、プレースホルダーの置換は行われません。誰かがこれを観察しましたか?
編集:私の問題はjarファイルとは関係ありません: http: //www.slf4j.org/legacy.htmlから:
JCL over SLF4Jの実装により、SLF4Jに段階的に移行できます。特に、ソフトウェアが依存しているライブラリの一部が、予見可能な将来にわたってJCLを使用し続ける場合はなおさらです。SLF4Jの信頼性のメリットをすぐに享受し、同時に下位互換性を維持できます。commons-logging.jarをjcl-over-slf4j.jarに置き換えるだけです。その後、基礎となるロギングフレームワークの選択は、JCLではなくSLF4Jによって行われますが、クラスローダーがJCLを悩ませることはありません。基盤となるロギングフレームワークは、SLF4Jでサポートされている任意のフレームワークにすることができます。多くの場合、commons-logging.jarをjcl-over-slf4j.jarに置き換えると、コモンズロギングに関連するクラスローダーの問題が即座に永続的に解決されます。
java - 特定のロガーが使用されるたびにスタックトレースをトリガーする方法はありますか?
現在、休止状態での遅延読み込み呼び出しのソースを追跡しようとしています。これを行う最も簡単な方法は、遅延読み込みが発生するたびに休止状態の SQL ログをオンにし、理想的にはいつでもスタック トレース出力をトリガーすることです。ロガーが使用されます。現在、SLF4j を使用する Hibernate 3.5.2 を使用しており、ログの実装として Log4j を使用しています。
AOP を使用してすべてのロギング呼び出しを囲み、それが SQL ロガーへの呼び出しであるかどうかを確認できると思いますが、これはちょっと手間がかかるように思えます。その道を進む前に、私が見逃していたより簡単なアプローチがあるかどうかを知りたかったのです。 .
hibernate - Hibernateおよびslf4jで生成されないログファイル
私のアプリケーションでは、Hibernate、Apache Commons Logging、およびLog4Jを使用しています。しかし、私のログファイルは生成されていません。これらはHibernateがslf4jを使用しているためですか?
私のクラスパスには、次のjarファイルがあります。
- hibernate-3.2.7.ga.jar
- hibernate-annotations-3.4.0.GA.jar
- hibernate-commons-annotations-3.3.0.ga.jar
- hibernate-core-3.3.2.GA.jar
- hibernate-entitymanager-3.4.0.GA.jar
- slf4j-api-1.5.6.jar
- slf4j-jcl-1.5.6.jar
- commons-logging-1.1.1.jar
- log4j-1.2.16.jar
- log4j.properties
Hibernateがslf4jを使用していることがわかりました。次のルートでロギングを委任したい-
slf4j-api-> slf4j-jcl-> commons-logging-> log4j
しかし、Hibernateログもアプリケーションログも取得していません。
理由は何でしょうか?
java - ログを取得できるように Spring と SLF4J を構成するにはどうすればよいですか?
ログインしたい Maven & Spring アプリがあります。SLF4J を使用したいと思っています。
log4j.xml を含むすべての構成ファイルをディレクトリ {classpath}/config に配置し、Spring Bean を使用して初期化したいと考えています。
例えば
ただし、この警告が表示され、ログが記録されません。
log4j:WARN ロガー (org.springframework.context.support.ClassPathXmlApplicationContext) のアペンダーが見つかりませんでした。log4j:WARN log4j システムを適切に初期化してください。log4j:WARN 詳細については、http: //logging.apache.org/log4j/1.2/faq.html#noconfigを参照してください。
私はグーグルで検索しましたが、これを設定する簡単な例が見つかりません。何か案は?
java - JBoss6 AS で SLF4J ロギングを「アクティブ化」する方法
与えられた:
JBoss 6 アプリケーション サーバー M3
上記のライブラリは、SLF4J と JBoss Logging システムの間のブリッジを提供すると思います。
私の Web アプリケーションは、ロギングのために SLF4J に依存しています。ただし、WAR で slf4j ライブラリをパッケージ化することはありません。
(私がそれらを含めても、違いはありません)
私の jboss-logging.xml は CONSOLE ハンドラーのレベルを DEBUG に設定しました
質問:
ロギング出力を JBoss ロギング システムに入れるのを忘れたのは何ですか? 彼がJBoss Logging システムをSLF4Jにバインドしようとしているという TRACE も表示されません。
=====[更新]=====
それは実際に動作します!! (それ以上の構成なし)
コードを から に変更したところ、logger.debug("abc")
ログlogger.info("xyz")
出力ができました。
=>だから、ログレベルのフィルタリングを正しく取得できないようです... [続きます]
java - SLF4J logger.debug()がJBoss6にログインしません
コンテキスト: JBoss Application Server 6
slf4j-jboss-logmanager.jar
slf4jをJBossログマネージャーにバインドすることに依存しています。
すべてのlogger.info()
出力は正しくログに記録されます。
ただし、logger.debug()
出力がログストリームに表示されることはありません。
jboss-logging.xmlがDEBUG
CONSOLEロガーのレベルを設定していても...
デバッグの詳細がログストリームに到達しない理由を誰かが理解していますか?
java - slf4j API のラッピング
Logback を使用して slf4j をレガシー アプリケーションにレトロフィットしたいと考えています。幸いなことに、レガシー アプリケーションには独自のロギング フレームワークがあります。そのため、log4j ではなく slf4j にログを記録するようにロギング フレームワークを変更するだけで済みました。
それは夢のように働きました。Logback がログイベントごとに記録した場所に気付くまでは、私は満足していました。
うわぁ!ログイベントがどこから来たのかを突き止めようとするとき、それは私の仲間の開発者をあまり助けませんでした.
実際にログに記録する場所をスタック内のいくつかのレベルで検索するように Logback に指示するにはどうすればよいですか?
ロガー クラスは、次のようなメソッドを持つユーティリティ クラスです。