問題タブ [appender]
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.
c# - Shutdown() を呼び出した後に log4net メモリ アペンダーを再起動する
私のアプリケーションでは、いくつかのアペンダーを使用しています - a FileAppender
、MemoryAppender
、およびAdoNetAppender
. 新しいファイルがオンデマンドで作成されるように、ログをリセットするコマンドがあります。これはうまく機能します - 私は単にlog4net.LogManager.GetRepository().Shutdown()
.
また、 にも同時にログをMemoryAppender
記録します。アペンダーからイベントを取得してログ ウィンドウに表示するタイマーがあります。前述のリセット機能を使用すると、ログに記録されるイベントがなくなるため、ログ ウィンドウにメッセージが表示されなくなります。
の場合、適切なファイル名を設定した後FileAppender
に呼び出すことで、ログを再開することができました。ActivateOptions
を呼び出しActivateOptions
ましたMemoryAppender
が、再度ログを開始することはできません。を呼び出す前ActivateOptions
に、オブジェクトを調べて、構成済みであることを確認しました。実際には、リセット関数を呼び出した時点からの構成が保持されるため、問題ないようです。
私もオンラインで検索しましたが、人々は電話するだけでよいと言っていましたlog4net.Config.DOMConfigurator.Configure
(非推奨-現在はlog4net.Config.XmlConfigurator.Configure`です)が、それも機能しませんでした。
ファイル、メモリ、および Ado アペンダーをサポートしながら、ロギングをシャットダウン/再開する別の方法はありますか?
log4j - log4jアペンダーで「BufferSize」は何を表していますか?
org.apache.log4jクラスAsyncAppenderでpublicvoidsetBufferSize(int size)
10,000を構成しました。しかし、ファイルは10K後も大きくなり続けます!理由は何ですか?
logging - slf4j - 同時に少数の実装へのロギング
(appenders)
コンソールとファイルの両方にログを記録したい場合、slf4j にいくつかの実装を使用させるにはどうすればよいですか? (loj4.properties ファイルを使用して log4j を構成するのと同様のもの)独自の slf4j impl を実行するには? インターフェイスを実装するだけで、クラスパスで自動的に検出されますか?
log4j - Java アプリケーションが実行されるたびに新しいログ ファイルを生成するように Log4j を構成するにはどうすればよいですか
Java アプリケーションが実行されるたびに新しいログ ファイルを生成するように Log4j を構成するにはどうすればよいですか? ファイルを使用してlog4jを構成するよう[Log file name]_[CurrentTime].log
に、ログ名を毎回変更したい.property
私はRollingFileAppenderを使用していますが、これはうまくいきませんでした.hereは私の設定です
udp - Windows サービスの Log4net UDP アペンダー
TopShelf を使用して開発された非常に単純な Windows サービスがあります。私は log4net を使用しており、UDP アペンダーが構成されています。Log2Console というアプリを使用して UDP ログを表示しています。
アプリを exe として実行するとすべて正常に動作し、Log2Console で UDP ログを確認できます。ただし、TopShelf を使用して exe をサービスとしてインストールして起動すると、UDP ログが表示されません。
Windows ファイアウォールをオフにして、違いが生じるかどうかを確認しようとしましたが、違いはありませんでした。また、サービスのログオンの詳細を変更しようとしましたが、運もありません。
助言がありますか?
ありがとう。
java - Swing アプリケーションで Logback からログをリンクするにはどうすればよいですか?
アプリケーションにパネルを追加する必要があります。このパネルはアプリケーションのエラーをログに記録します。AppenderBase を拡張するクラスを作成し、このクラスを使用するように xml ファイルを構成しました。
したがって、アプリケーションに何かを記録すると、彼が呼び出したアペンダーが表示されます。
しかし、現時点では、アペンダーをパネルにリンクする方法がわかりません。
案内してもらえますか?
hibernate - SystemOut.log ファイルから Hibernate エラーをリダイレクトする
休止状態のログ設定に少し問題があります。このアプリケーションでは、データベース テーブルの各行を同時にロックしようとする 2 つのスレッドがあります。場合によっては、これらのスレッドの 1 つが、既にロックされている行をロックしようとします。このエラーがスローされます:
これらの行は SystemOut.log ファイルに入れられます。それらを別のファイルに入れようとしています。したがって、Log4j 構成ファイルで、次のような新しいアペンダーを作成しました。
最後に、ルート要素の直前にこれらのロガーを追加しました:
この構成は機能せず、2 行は常に SystemOut.log に記録され、JDBCExceptionReporter.log には記録されません。誰かが私の問題に対する答えを持っていますか? ご協力ありがとうございました。
java - クラスごとのlog4jアペンダー
特定のメッセージ タイプを受け取り、それを MongoDB クラスターにダンプする log4j アペンダーを作成しました。「監査」としましょう
私はこのようなことができるようにしたい:
任意のクラスから、log4j が「AuditEntry」タイプのログ メッセージを自動的に監査アペンダーにルーティングするようにします。これは可能ですか?これまでにこれを行うことができた唯一の方法は、rootLogger チェーンにアペンダーを追加することです。
しかし、もちろん、AuditEntry も toString() でコンソールに出力されます。可能であれば、これを避けたいと思います。
1 つの解決策を考えましたが、それが最適な解決策かどうかはわかりません。監査フィルターをチェーンの最初にします。
そして、log4j アペンダー呼び出し "clearFilterChain()" 内で、まだこれを試していません... また、この関数に関するドキュメントも見つかりませんでした。
他の解決策はありますか?
logback - Logback : ログメッセージを outputstream アペンダーに追加します
ロギングを行うために Logback フレームワーク v1.0.1 を使用しています。ログ メッセージを Java の出力ストリームに追加する方法を知りたいです。
ログ メッセージをキー = 値のペアにフォーマットしたかった 最後に、フォーマットされたログ メッセージを出力ストリームとして取得したいと考えています。ロガー インスタンスを取得し、メッセージをデバッグ レベルでログに記録しました。
実行すると、出力は次のようになります。
一種のエラーであるステータス メッセージにこの行が表示されました。出力ストリームが設定されていません。
15:07:19,399 |-ch.qos.logback.core.OutputStreamAppender[outputstream] のエラー - 「outputstream
」という名前のアペンダーに出力ストリームが設定されていません。
15:07:19.414 [メイン] INFO SplunkSearch.SplunkLogger - ラップ = true、setValue = false、
15:07:19.430 [メイン] DEBUG SplunkSearch.SplunkLogger - ラップ = true、setValue = false、
java - ログをコンソールからファイルに移動する方法は?
私たちのプロジェクトには現在、メインのportal-log4j.xmlがあり、このプロジェクトではportal-log4j-ext.xmlを使用してそれをオーバーライドする必要があります portal-log4j.xml では、デフォルトですべてのロギングがコンソールに行われます。 .
オーバーライドされた portal-log4j-ext.xml ファイルには、次のコードがあります。
ご覧のとおり、ファイルに書き込むことはできますが、コンソールにもログが記録されます。このデフォルトの動作をオーバーライドして、パッケージ固有のメッセージを特定のログ ファイルにのみ (コンソールには出力しないように) 記録するにはどうすればよいでしょうか。
前もって感謝します !