問題タブ [adonetappender]
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 ADONetAppender でストアド プロシージャを使用するにはどうすればよいですか?
ADONetAppender を使用して、ストアド プロシージャを介してデータをログに記録しようとしています (ログ ルーチンにロジックを挿入できるようにするため)。
私の構成設定を以下に示します。誰が私が間違っているのか教えてもらえますか?
xml - ThreadContext プロパティが AdoNetAppender に書き込まれない
log4net 1.2.10.0 を使用しています。ILog と LogManager を拡張して、新しいレベル「AUDIT」を含めました。AdoNetAppender
を使用して をデータベースに記録したいと考えて%message
います。他の情報をログに記録する必要があるため、 を使用してみlog4net.ThreadContext.Properties
ました。
コンテキスト プロパティを SQL パラメータの値として使用しようとすると、出力が得られません。
実行コードは次のとおりです(log4netが初期化され、ロガー「log」が作成されていると仮定)。
SQL パラメータを使用する代わりに値をハードコーディングすると、アペンダは AUDIT フィルタで動作します。
INFO などの組み込みレベルでフィルター処理する場合、アペンダーはコンテキスト プロパティで動作します。
FileAppender
AUDIT フィルターとコンテキスト プロパティで動作します。
その結果
グローバル コンテキスト プロパティの使用は、AdoNetAppender
および AUDIT フィルターで機能します。しかし、スレッド コンテキストの解決が必要です。
その結果
AdoNetAppender
したがって、それが拡張クラスまたは構成に問題があるかどうかはわかりません。
log4net - log4netでバッファをプログラムでフラッシュする方法はありますか
AdoNetAppender で log4net を使用しています。AdoNetAppender にはFlush メソッドがあるようです。私のコードからそれを呼び出すことができる方法はありますか?
データベース ログのすべてのエントリを表示する管理ページを作成しようとしています。log4net を bufferSize=100 (またはそれ以上) でセットアップしたいので、管理者が管理ページのボタンをクリックできるようにしたいと考えています。ページを使用して、log4net がバッファリングされたログ エントリをデータベースに書き込むように強制します (log4net をシャットダウンする必要はありません)。
それは可能ですか?
log4net - log4net:adonetappenderとrollingfileappenderの比較
これらのアペンダーのどれがより良いパフォーマンスを発揮するかを確認しようとしています (時間が短いほど良い)。
RollingFileAppender または ADONetAppender?
アペンダーを選択する際に考慮すべき他のパラメーターは何ですか?
私のWebServerがローリングファイルを「保持」していることがわかりました。のようなものを設定できますか
(参照:log4netドキュメントのFileAppenderセクション)複数のアプリケーション/サーバーが同じファイルに書き込むことができるように、ローリングファイルアペンダーで?
DB サーバーは SAN ドライブにありますが、ログ ファイルはハード ドライブにローカルに書き込まれます (または、近い将来 SAN ドライブになる可能性があります)。
c# - 変更後に AdoNetAppender が機能しなくなる
私は log4net を使用しており、AdoNetAppender を使用してデータベースにログインするように XML ファイルを構成しました。アプリケーションを作成してすべてを構成すると、すべてが正常に機能するようです。そして、データベースに正常にログインできます。しかし、コード内のメッセージを変更すると、データベースへのログ記録が停止します。
これが私の構成です:
オンラインで見つけて、アプリケーションに合わせて少し変更しました。パラメータを取得する前にテーブル Log1 に挿入することが原因である可能性があると考えています。
私のコードが
初めて機能し、次にメッセージを次のように変更します
まったく機能しません。私のファイル アペンダーはメッセージの変更を受け入れることができますが、私の AdoNetAppender はこれを拒否します。なぜこうなった?
追加するために編集:
私の関数は非常に単純です。ログを記録するためにこのクラスがあります。
変更を加えるたびにファイル ログは問題ありませんが、テーブルのデータを取得しようとしても変更がないため、DB ログはデータベースに書き込まれません。何が間違っているのかわかりません。
私のロガー構成
最後の 3 つはRollingFileAppender
s で、メッセージを変更したり、他のいくつかのメッセージを追加したりしても、完全に機能します。メッセージを変更したり、ログに記録するメッセージをいくつか追加したりすると、頭痛の種になるのはDBです。
log4net - AdoNetAppenderおよびClobフィールド
log4NetとAdoNetAppenderを使用しているasp.net3.5アプリがあります。現在、アプリはlog4netドキュメントhttp://logging.apache.org/log4net/release/config-examples.htmlのようにメッセージフィールドを使用しています。フィールドをvarchar2からClobに変換したいと思います。私はこれを行う方法に関するいくつかのドキュメントを見つけようとしていました。私が見つけたのは:
http://old.nabble.com/DbType-for-CLOB-column-using-AdoNetAppender-td1214036.html#a1214036
これはあまり役に立ちませんでした。AdoNetAppenderでClobファイルを使用する方法に関するリンクまたはいくつかのサンプルを知っている人はいますか?
ありがとう、ビルN
log4net - log4netのストアドプロシージャからデータベースに挿入する方法は?
次のようなスレッド コンテキスト プロパティをログに記録する必要があります。
構成ファイルは次のとおりです。
しかし、それらをデータベースに挿入していません。どうすればそれを機能させることができますか?
log4net - log4net ADONetAppender のエントリ ID を取得する
Web アプリで log4net を使用しており、すべてのページ エラーを SQL サーバーに記録しています。それによって生成されたエントリ ID を取得する方法があるかどうか疑問に思っていました。ここにあるドキュメントから離れます
http://logging.apache.org/log4net/release/config-examples.html
この ID を参照番号として顧客に提示できるようにしたいと考えています。これにより、顧客は顧客サポートに連絡してシステムを検索し、ログ ファイルを確認する必要がなくなります。
asp.net-mvc - Log4NetはDevマシンで動作し、共有ホストにデプロイすると失敗します(同じdb / connstringを使用)
log4netを構成し、ローカルマシンで正常に動作していますが、ホスト(godaddy)にデプロイすると、サイレントに失敗します。開発マシンとホストで同じデータベース/構成ファイルを使用しています。log4net参照がローカルをコピーするように設定されており、log4net.dll、.pdb、および.xmlがホストのビンに存在します。これはasp.netmvcアプリです。
編集:例外はスローされず、アプリケーションは期待どおりに実行されます(ロギングを除く)
これはSQLServer2005で実行されています。ウェブホストはIIS7です。
私の設定の顕著な詳細は次のとおりです。
誰かがチェックすることについて何かアイデアがありますか?