問題タブ [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.

0 投票する
1 に答える
2808 参照

sqlite - ADO log4netアペンダーのデバッグ(追加されません)

私は以前にこれを機能させていましたが、現在は機能しておらず、過去2時間、それを理解しようとして髪を引き裂いてきました。

いくつかのアペンダーがあり、そのうちのいくつかは「メイン」ログ用で、もう1つは別の「タスク」ログ用です。メインログには、コンソール、メモリ、ファイル、DB(sqlite3)の4つのアペンダーがあります。タスクログには、メモリ、ファイル、DB(sqlite)の3つのアペンダーがあります。

私を悩ませているのは、タスクログのDBアペンダーを除くすべてのアペンダーがうまく機能していることです。ThreadContextプロパティを使用してタスク固有のデータをログに記録することを除いて、タスクDBアペンダーについて特に特別なことは何もありません。そして、私が言ったように、そのデータはすべてテキストファイルとメモリバッファに問題なく表示されます。

DBアペンダーに関連する出力ウィンドウでエラーを探しましたが、エラーはありません。構成XMLファイル内の両方のDBアペンダーを比較しましたが、それらは同一です...カスタムプロパティをミックスから削除しても、タスクDBアペンダーはまだ機能しません!

私のタスクロガーは次のように構成されています。

私のDBアペンダーは次のように構成されています。

私のメインログDBアペンダーは同じように構成されていますが、機能ます。誰かがさらなるデバッグ戦略を推奨できますか?

0 投票する
3 に答える
4563 参照

log4net - log4net から SQLServer : データベースが利用できない場合はどうなりますか?

SQL Server データベースに書き込みを行う log4net ado アペンダーがあります。私はそれが好きです、私はそれがきちんとしていると思います。本番環境に送る前に、データベースがダウンした場合の動作を知りたいです。

ログ データベースが使用できないため、アプリケーションを停止したくありません。log4net は黙って失敗し、何もしないと思いますが、少なくともそれは私が望んでいることです。誰でもこれを確認できますか、または(より良い)これを確認するドキュメントを教えてもらえますか?

0 投票する
1 に答える
928 参照

log4net - Log4Net 経由で生成された AdoNetAppender エラーの処理

私は Log4Net を使用しており、XML 構成ファイルを使用する代わりに、fileAppender と AdoNetAppender の両方を完全にコードで作成しています。adoNetAppender は、指定されたデータベースに接続できない場合、エラーをスローするのではなく、消費してコンソール ウィンドウに書き込みます。これでは捕まえられません。最終的には、構成エラーをキャッチし、DB がダウンした場合に備えて fileAppender をロードしたいと考えています。

このエラーを消費するため、この catch ステートメントにヒットすることはありません。

対処法について何かアドバイスはありますか?

0 投票する
1 に答える
725 参照

database - log4netadonetアペンダー

データベースのデバッグにlog4netのadonetアペンダーを使用しています。ロギングレベルがエラーに設定されています。データベースロギングは、Oracleデータベース上の同じテーブルに書き込む異なるサーバーで実行されている2つのアプリケーション用に構成されています。テーブルの列はloginId、levelでした。私が直面している問題は次のとおりです。

  1. ロギングレベルがエラーに設定されていても、一部の情報レベルのステートメントもテーブルに表示され、対応するレベルの列はエラーとして表示されています。

  2. 一部のステートメントの間に、ログインIDは、アプリケーションを実行している実際のユーザーのログインIDとは異なって表示されます。

  3. したがって、自律的に動作するようにさまざまなサーバーでlog4netを構成する方法。

編集:これらの問題に直面しているのは、アプリケーションの複数のインスタンスを実行している場合のみです。それ以外の場合は、log4netロギングで問題ありません。

シナリオ:公開されたバージョンのアプリケーションを、ログインIDが異なる2つのブラウザーで参照し、ブラウザーごとに異なるフローを実行しました。その結果、ログインIDがごちゃごちゃになりました。コードのユーザーセッションからログインID値を取得し、log4net.GlobalContext.Propertiesに保存しています。

いくつかの調査の結果、http://logging.apache.org/log4net/release/manual/contexts.htmllog4net.GlobalContext.Propertiesにある代替案があることがわかりました。グローバルの代わりに使うべきだと思います。ThreadContext.Properties

に保存することで問題に直面していると思いますlog4net.GlobalContext.Properties

問題1:コードを確認したところ、ステートメントはでしたlogger.info。しかし、データベーステーブルでは、エラーレベルでログに記録されていました。

問題2:ログインIDのコード:

web.configで。

global.propertiesの代わりにThreadContext.Propertiesを使用できると思われる場合は、login_idに使用する方法を教えてください。

0 投票する
1 に答える
254 参照

logging - Log4net Adonet Appender:アプリケーションの複数のインスタンスが実行されているときにデータが乱雑になる

シナリオ:asp.net WebアプリケーションがリモートIISにデプロイされ、Oracleデータベースにログインするように構成されています。ログテーブルには、Login_ID、Log_message、Querystring、ipaddressの列があります。そのため、デプロイされたURLは、さまざまなlogin_idsを使用してさまざまなシステムから参照されました。

問題:アプリケーションが異なるログインIDと異なるフローを持つ異なるシステムで実行されている場合、あるフロー/システムのログインIDが別のフロー/システムに挿入されます。ただし、アプリケーションの単一インスタンスが実行されると、ウォールが適切に挿入されます。

例:ログインID Xの場合、サイトはフロー「A」を介して参照され、ログインID Yの別のユーザーは、フロー「B」を介してサイトを参照しています。Loginid'X'は、フロー'B'およびフロー'A'のレコードに挿入されます</p>

コード:

user =(User)Session ["User"];

log4net.GlobalContext.Properties ["LOGIN_ID"] = user.loginid;

調査:いくつかのサイトを調べた後、log4netコンテキストがasp.netで正しく機能しないことを知りました。

http://piers7.blogspot.com/2005/12/log4net-context-problems-with-aspnet.html

http://piers7.blogspot.com/2007/07/log4net-in-aspnet-redux-implement.html

これらのリンクは、私が試したが結果を得ることができなかったhttpcontextを使用することを示唆しています。だから誰かが私がこの問題を解決するのを手伝ってくれる?

0 投票する
3 に答える
9109 参照

log4net - log4netのAdoNetAppenderがログに記録されないか、例外をスローする

AdoNetAppender を使用して SQL Server 2005 のインスタンスにログを記録することになっている log4net.config ファイルでロガーを定義しました。コードでロガーが呼び出されていますが、メッセージがログに記録されず、例外もスローされません。

ロガーとアペンダーを定義する構成ファイルの一部を次に示します。

また、log4net の内部デバッグを有効にしましたが、あまり役に立ちませんでした。

FWIW、別の場所で FileAppender も定義しましたが、正常に動作します。

0 投票する
1 に答える
1022 参照

c# - Log4Net:カスタムXmlレイアウトでC#AdoNetAppenderを使用する

私は少し立ち往生しています。私は、情報をログに記録するために、アペンダーがデータベースでストアドプロシージャを実行できることを要求するログモジュールを作成してきました。次のようなカスタムxmlレイアウトを作成しました。

したがって、基本的には、AdoNetAppenderでこのレイアウトを介してロギングイベントを実行し、結果のXmlをパラメーターとしてstorprocを実行する必要があります。すなわち

残念ながら、周りに例はないようです。

どんな助けでも大歓迎です。

0 投票する
2 に答える
2932 参照

log4net - log4netのAdoNetAppenderを使用するときに定数パラメーターを指定する方法

http://logging.apache.org/log4net/release/config-examples.html

ここにログテーブルがある場合:

ここでのアペンダー設定:

コードを変更せずに、「製品」列に定数パラメーターを追加するにはどうすればよいですか?構成-可能な場合のみ変更してください!

たとえば、私は次のようなことをしたいと思います。

編集:答えは簡単です。コマンドテキストを編集してください!

0 投票する
1 に答える
2854 参照

web-config - log4net の connectionStringName

からだけでなくconnectionStringNameから接続文字列をプルする log4netのプロパティですか?web.configapp.config

使ってみたのですが、なぜかうまくいきませんでした。

「Logs」という名前の接続文字列をいくつか入れてから、「Logs」に設定してanにweb.config追加しましたが、機能していないようです。log4net.configAdoNetAppenderconnectiongStringName

誰かがこの機能の使用方法の実例を提供できますか?

ありがとうございました

0 投票する
2 に答える
667 参照

log4net - sps を使用して log4net にログ情報を挿入する

エラーやその他の情報を記録するために、 log4netのADO.NET Appenderを使用しています。データベースに。通常、接続文字列、SQLクエリ、パラメーターはすべて構成で指定されています。

コードでそれを行うことは可能ですか? アプリケーションにデータベース コンポーネントがあり、データベースとのやり取りはすべて単独で処理する必要があります。log4net を使用して詳細をログに記録しようとするたびに、ログ情報をデータベースに記録するために SP を呼び出すデータベース コンポーネントから log メソッドを呼び出したいと考えています。log4netを使用してこれを達成するにはどうすればよいですか?