問題タブ [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 - slf4jのデフォルトのフォーマッタとしてjava.util.Formatterを使用する
私は現在、内部でを使用するカスタムログマネージャーを持っていますjava.util.Formatter
。主な問題は、それがあまり使用できないことです。アプリケーションごとに1つのファイルにすべてが含まれ、データベースに特定のログを追加する可能性がなく、メールを送信できません...
ですから、ロギングシステムの機能を向上させたいと思います。いくつかのテストの後、Log4Jはまさに今私が必要としているものです。しかし、将来これを再度変更するという苦痛を避けたいので、Log4Jの上にslf4jを使用する予定です。
すべてのコードベースでslf4jを使用するために大規模な検索/置換を行う準備ができていても、各ログステートメントをチェックして{}
slf4jの形式を使用するように再フォーマットする準備はできていません。
だから私の質問は:どうすればslf4jインターフェースを使用して、内部的にjava.util.Formatter
デフォルトの代わりに、できれば1つの場所(各クラスまたはパッケージではないことを意味する)で使用する必要があることを伝えることができますか?
注:パフォーマンスについて話している、またはjuFormatterを使用すべきではないと述べているすべての回答は破棄されます。議論を開始するのではなく、問題に対する実用的な解決策が必要です。
java - SLF4J-ログバック:実行時にロガーを構成する方法は?
プロジェクトでLogBackを使用しているので、データベースの値に従ってロガーを構成します。つまり、DB値がtrueに設定されている場合、ロガーはファイルとDBアペンダーの両方を使用する必要があります。falseの場合、ロガーはDBアペンダーのみを使用する必要があります。 、
また、静的な最終ロガーを使用して保持したいので、ロガーが呼び出されるたびに新しいインスタンスを作成することはありません。
では、どうすればこのようなことができますか?
よろしく、
java - slf4j で文字列以外の項目をログに記録する方法
slf4j のメソッドは文字列引数しか受け付けないようですが、そのメソッドを使用するときはすべてを文字列に変換する必要がありますか?
java - Mavenでビルド中にslf4jバージョンが競合する
私のプロジェクトの1つがslf4j1.5.8を使用し、Hibernateがslf4j1.6を使用していることに気付きました。Mavenでビルドしている間、両方のjarがダウンロードされますが、1.5.8のクラスファイルが使用されていると思います。したがって、プログラムを実行すると、次のエラーが発生します。
pom.xml
入れました
1.5.8は依存関係の一部であるため、単独でダウンロードされます。
java - SLF4J API での NoSuchMethodError
slf4jで使用する場合、
以下のようにトレースします
intellij-idea - intelliJ 9は、web.xmlで指定したクラスを見つけることができません
Google アプリ エンジンを使用する Java アプリでlogdiggerを動作させようとしています。jar ファイルを src/ ディレクトリ、lib/ ディレクトリに配置しようとしましたが、何をしてもクラスが見つかりません。見つかったのは com.google.appengine だけです。依存関係をいじってみましたが、うまくいきません。誰かがこれを以前に行って、それを機能させたことがありますか? intelliJを介してクラスパスを変更する方法がわかりません(ただし、プロジェクト設定では、モジュールセクションの下に依存関係としてリンクされたjarがあります)。
logging - Red5: 外部ライブラリのロギング
指定: Red5 0.8.RC3、ライブラリ (.jar) を使用するアプリケーション (.war)。
アプリケーションはロギングに slf4j を使用し、すべてのロガーは次のようにインスタンス化されます。
ロギングの構成ファイル: logback-webcall.xml
これは、上記のようにインスタンス化されたすべてのロガーで機能します。しかし、ライブラリ(Red5LoggerFactory とコンテキストについての手がかりがない) では、ロガーは次のようにインスタンス化されます。
そして、それらは機能しません。
質問: Red5 サーバーのライブラリ内でログを構成する方法を教えてください。
gwt - ServletContext.log() がログに記録されない
RemoteServiceServlet
使用時に my (GWT)のログ出力がログファイルまたは標準出力に表示されないgetServletContext().log("anything");
依存性注入にはGoogle Guiceを使用します。私自身のログ出力にはslf4j-jdk14を使用します。Tomcat 6 と Jetty (GWT devmode) でこれを試しました。
明確にするために、私のサーブレット:
では、欠落しているログ出力はどこで見つけることができますか、またはどこで ServletContext-Log を構成できますか?
java - SLF4J にいくつかのログ ステートメントを出力させるにはどうすればよいですか?
Maven プロジェクトで初めて SLF4J を使用していますが、何も出力できません (その作成者は明らかに「有用なデフォルト動作」の哲学に同意していません)。
pom.xml に以下を追加しました。
そして、私はそれを次のように使用しています:
今のところ、凝ったものは必要ありません。コンソールにログインするためだけに必要です。これを有効にするにはどうすればよいですか?
java - Logback エラー出力をオーバーライドする
私のカスタム例外クラスでは、オーバーライドしましたtoString()
:
(はい、そこで使用する必要があることは承知していますStringBuilder
)
ただし、そのような例外を (経由でorg.slf4j.Logger.warn(String msg, Throwable err)
) ログに記録すると、出力はバニラの例外と同様になります。
追加データを表示するにはどうすればよいですか? 私のログの実装は Logback です。