問題タブ [log4net-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.
logging - log4net - 1 つのロガーのみに固有のアペンダーを取得する
すべてのアペンダーを 1 つのロガー インスタンスにアタッチする方法を探しています。
私は試した:
ドキュメントによると、これは現在構成されているすべてのロガーのすべてのアペンダーを返します。
これを試すと:
同じ結果が得られます。
1 つのロガー (この場合は「MyLoggerName」) にアタッチされているアペンダーのみを取得したい
どこが間違っていますか?
c#-4.0 - log4netロガーの関数に渡されたすべてのパラメータを取得できません
log4net を使用してログ ファイルを作成しています。結果を .xml ファイルに記録しました。すべてが完璧に機能していますが、問題が 1 つあります。ライブラリ クラスを使用してフォームで参照し、ボタン クリックのフォームでログを呼び出しました。ロガー ファイルで関数を実行し、4 つのパラメーターを渡します。他のすべてのレコードを取得しますが、ログ プロパティを取得できません。次のコードを使用してxmlファイルに書き込みます。
これらは関数に渡すパラメーターです。
「ユーザー」と「環境」にアクセスする方法を教えてください。または他の提案。
c# - Log4net は、xml で同じアペンダー構成を使用して、複数のファイルにログを記録します
私は自分の設定にこのアペンダーを持っています:
appender name="TC3DataLogger" type="Intel.STHI.Device.ContextLog.TC3DataLogger" >
<file value="null" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Once" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100MB" />
<datePattern value="-yyyyMMdd-HHmm" />
<layout type="log4net.Layout.PatternLayout">
<header value="Date, CS, FeedbackInput, PWM_Duty_Cycle (Cold='-' Hot='+') "/>
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss}, %message%newline" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<acceptOnMatch value="true" />
<LoggerToMatch value="Intel.STHI.Device.ContextLog.TC3DataLogger" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
複数のファイルに同時にログを記録する必要があります。この方法で各ログ ファイルを作成します。
これで、新しいログ ファイルを作成するたびに、他のすべてのロガーがこのファイルにログを記録します。異なるファイルに同時にログを記録するにはどうすればよいですか? 私はこれを試しました:
しかし、ファイルにログを記録しようとするたびに、新しいファイルを取得します。
log4net - log4net が GAC からファイル MySql.Data を読み込めません
新しい Windows サービス プラットフォームでの log4net の使用を評価しようとしています。MySql データベースで生成ログを使用したいと考えていました。
最新のMySql(6.9.4.0)とlog4netがあります。
簡単な Windows コンソール アプリケーションを作成し、それにアペンダー情報を含む構成ファイル log4net.config を追加しました。
次のコード行を AssemblyInfo クラスに追加しました
GAC_MSIL に log4net と MySql.Data Gated の両方があり、両方のアセンブリが Application.config ファイルの assemblyBinding セクションに追加されています
プログラムを実行すると、ログが生成されません。Apache の内部ログを有効にすると、MySql.Data ファイルの読み込みに失敗したというエラーが表示されます
MySql.Data ファイルを bin フォルダーにコピーすると、ログが完全に正常に生成されます。
手がかりはありますか?
よろしくシド
c# - インターフェイスからログを記録するように log4net をセットアップする方法
アプリケーションからイベント/情報をログに記録するために log4net を使用しています。IReader
少なくとも 4 つのクラスによって実装されているインターフェイスがあり、それは成長する可能性があります。各クラスにはReadBuffer()
、読み取りが失敗した場合にエラーをログに記録するメソッドがあります。以下は、1 つのクラスのメソッド定義です。
AddToLog 拡張メソッドは、以下に示すログの作成を担当します。
このメソッドは、以下のようにクラスを読み取るように構成ファイルをセットアップすると正常に機能します。
ただし、 IReader インターフェイスをロガーに渡すことができれば、すべてのクラスを同じファイルでログに記録できると思います。に置き換えIPortM350Connection
ても、ログ エントリは取得されませんIReader
。インターフェースの設定ファイルを書いた人はいますか、それともこれを克服する方法を知りましたか?
c# - log4net カスタム アペンダー メッセージ形式は無視されます
AppenderSkeleton から継承してカスタム アペンダーを実装しました。ロガー インスタンスが正しく作成され、ログを記録するときに「Append」メソッドが呼び出されますが、メッセージの形式が正しくありません。StreamWriter インスタンスを渡していくつかの方法を試しましたが、すべての呼び出しでストリームへの書き込みに失敗しました。私が試したもう 1 つのことは、RenderedMessage プロパティを使用することですが、返される値は、レイアウトの書式設定のない正確なメッセージです。
何が間違っているかについてのアイデアはありますか?
メモリ ストリームからファイル ストリームへの変更は正しいレイアウトであるため、メモリ ストリームを使用することで何かを行う必要があります。
.net - Log4net で n 回のイベント後にメールを送信する
エラーごとに電子メールを送信する Log4Net アペンダーがあります。いくつかのイベントの後にメールを送信し、すべてのイベントを 1 つのメールにまとめたい。
log4netでそれは可能ですか?