問題タブ [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アプリを構築していて、ロギングにログバックを使用したいと思っています。
私のアプリは、ログを介してロギングを行う古いプロジェクトに依存しています
...だから私の計画は使用することでした
...JCLログをにリダイレクトする
...そして最終的には
そのため、私のアプリはslf4j APIを介してログバックを介してログに記録できますが、古いライブラリコードはリダイレクトを介して同じ場所にログインできます。
悲しいかな、これは結果として
これらのjarのいくつかで検証数を増やしたり減らしたりして、APIドキュメントなどを調べましたが、問題を見つけて解決することができません。
助けてください?
ログバックは「戦略的な」ログフレームワークと見なされますが、最終的に使用するログメカニズムにはある程度の余裕があります。ただし、logbackまたはlog4jのいずれかを使用したいと思います。また、共通の構成を使用して、古いプロジェクトのロギングを「新しい」ロギングフレームワークにマージしたいと思います。
eclipse - Hibernate-アノテーション3.4.0.GAおよびslf4j?
slf4j-apiバージョン1.5.5を使用するhibernate-annotations3.4.0.GAを使用するMavenプロジェクトAがあります(pom.xmlファイルの依存関係ツリーで確認)。さらにプロジェクトAは、依存関係としてslf4j-log4j12バージョン1.4.2を指定しています。
プロジェクトAに依存する別のMavenプロジェクトBがあります。プロジェクトBIで、次の依存関係を指定しています。
これは、コマンドラインからMavenを使用して正常にビルドされます。しかし、Eclipseの起動構成からプロジェクトを実行すると、次のようになります。
このメッセージから、プロジェクトAのバインディングを1.6.xにアップグレードする必要があることが示されていますが、休止状態の依存関係に含まれているため、それがどのように可能かわかりません。
プロジェクトBの実行時にバインディングを切り替えて(クラスパス情報を更新して)、休止状態のプロジェクトのバージョンではなく1.6.1バージョンを使用することはできますか?
java - log4jなしでHibernateコンソール出力を停止します
タイトルで述べたように、log4jを使用せずにHibernateコンソールの出力を停止したいと思います。log4jを使おうとしましたが、どこにも行きません。私が欲しいのは、コンソールのINFO出力を停止することです。また、log4jを使用している場合は、.propertiesまたは.xmlファイルなしでそれを行うことができます。ソースで設定を行うだけです。tnx
spring - Spring:「SimpleLogger は場所を認識していないようです」例外
コードの最初の行で、Spring アプリで例外が発生します。
プロジェクト ライブラリとして構成された commons-logging-1.1.1.jar があります。
スタック トレースは次のとおりです。
java.lang.UnsupportedOperationException: ロガー [org.slf4j.impl.SimpleLogger(org.springframework.context.support.ClassPathXmlApplicationContext)] は位置を認識していないようです。
org.apache.log4j.Category.log(Category.java:347) で org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:199) で org.springframework.context.support.AbstractApplicationContext.prepareRefresh (AbstractApplicationContext.java:456) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:394) で org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139) で org.springframework.context .support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
java - NoClassDefFoundError:org / slf4j / impl / StaticLoggerBinder
ここに示すサンプルタイルの例を実行しようとしています。
以下は私のPOM.xmlです:
例を実行しようとすると、次のエラーがスローされます。
何か案が?
私はこれのためにグーグルで30分を費やしましたが、可能な解決策を見つけることができませんでした。
私を助けてください...
java - Hibernate 3.5 の開始 - ant タスクの問題
「Beginning Hibernate 3.5」に取り組もうとしていますが、最初の問題にぶつかりました。
を実行するant exportDDL
と、次のエラーが表示されます。
次の ant タスクを使用します。
何が起きてる?ant compile
正常に動作しますが、exportDDL
タスクは動作しません。sl4j jar はクラスパスにあり、ダウンロードしましslf4j-simple-1.6.1.jar
た。考え?
java - Glassfish 3.0.1 にデプロイされた Web アプリで slf4j のログを処理する良い方法は何ですか?
私は slf4j でログを記録する非常に普通の Web アプリケーションを持っていますが、これは問題なく、いくつかの slf4j バックエンドを問題なく使用しました。
Tomcat では、logback にファイルシステム内の場所を指定してそこにログを記録するように指示しましたが、このアプリケーションのいくつかの独立したインスタンスを、それぞれが単一の Glassfish 3.0.1 インスタンス内の独自のドメインにデプロイしたいと考えています。私の slf4j ロギングが Glassfish でうまく動作することを望みます。
私のロギングをGlassfishで処理するのに良い方法(あえて「最善」と言います)は何でしょうか。logback を使用してログを System.out にフラット化し、Glassfish にコンソール出力を処理させるべきですか、それとも Glassfish 内のロガーに到達するためのより良い標準的な方法はありますか?
編集: 調査によると、GlassFish 3.0.1 は SLF4J API も、デフォルト構成の JSP ページに表示されるクラスのバインディングも提供していません。
slf4j-api-X.jar および slf4j-jdk14-X.jar を提供することにより、slf4j-logging イベントが java.util.logging に転送され、Glassfish によって適切にキャプチャされます ( http://docs.sun.com/app/を参照)。詳しくはdocs/doc/820-7692/abluj?l=en&a=viewをご覧ください)。
java - 単体テストで slf4j を使用する単純なパターンはありますか?
プロジェクトで JUnit4 と Hibernate3 を使用しています。Hibernate は Slf4j に依存しているため、私のプロジェクトにはこのライブラリも含まれています。ここで、補足テスト情報をログに記録するために、単体テストで Slf4j を使用したいと考えています。テキストを 1 行だけログに記録するために、単体テストがどのように表示されるかを示す簡単な例を教えてください。複数のテストでコードの重複がないことが望ましい。
slf4j - slf4j-log4j13とslf4j-log4j12の間の競合
私はslf4j1.6.1を持っており、Log4j1.2.16がMavenの依存関係に含まれています。以前のプロジェクトでは正常に機能していました。しかし、最近、以前のコードベースの一部を再利用して新しいプロジェクトを開始し、その後、いくつかの奇妙な問題が発生し始めました。
基本的に何が起こったのかというと、どういうわけかslf4j-log4j13もwarファイルに含まれており、おそらく他の依存関係の推移的な依存関係を通じてです。ただし、「mvndependency:tree」を使用して推移的な依存関係を確認したところ、「slf4j-log4j13」が見つかりませんでした。
結果はトリッキーです。WARファイルにslf4j-log4j12とslf4j-log4j13の両方があります。驚いたことに、どういうわけか、それは私のMacOSXシステムでうまく機能しました。正常に動作するということは、それによって引き起こされる競合、例外、またはエラーがないことを意味します。しかし、別のLinux(Ubuntu)64ビットマシンにデプロイすると、問題が発生しました。例外は次のとおりです。
xmlResponseParserがslf4jを使用しているようですが、log4jの依存関係が見つかりませんでした。これは、slf4j-log4j12とslf4j-log413の間の競合が原因ですか?Linuxでのみ発生するのはなぜですか?
それらの1つを削除しようとしました。ただし、どちらかを削除すると問題が発生します。誰かが同じような経験をしたかどうかを確認したいと思います。
java - 引数としての SLF4J ログレベル
SLF4J の使用を検討していますが、レベルを引数として指定できないことがわかりました。
あなたはこれをしなければなりません
これにより、メソッドを介してすべてを渡すことができなくなるため、クラス内のすべてのログ メッセージに他のプロパティを追加できます。
SLF4j を使用してこれを達成する方法はありますか?