問題タブ [tracesource]
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# - 同じアプリケーションの 2 つのインスタンスを同じログ ファイルに書き込む
同じアプリケーションの 2 つのインスタンスから同じファイルに書き込む方法。書き込みには、System.Diagnostis 名前空間の TraceEvent メソッドを含む TraceSource クラスを使用しました。書き込み用に Mutex でメソッドを作成しようとしましたが、メソッドが正しく動作しません。ミューテックスを使用した TraceSource ログの例が見つかりません。誰でも私を助けることができますか?
私のログクラス:
私のアプリケーションでは、ログ ファイルへの書き込みに InfoTraceEvent を使用しました。スレッド書き込み (2 つのアプリケーション インスタンスによる書き込み) の InfoTraceEvent をどのように変更しますか?
c# - System.Diagnostics のクラス ベースのトレース ソース
現在、1) 既に利用可能な .net 組み込みフレームワークを使用し、b) アクティビティ トレースなどの強力な機能を使用するために、ログ フレームワークとしてのlog4netから名前空間に移行しています。System.Diagnostics
log4net では、クラスベースの方法でロガーをリクエストするのに慣れています。
ただし、TraceSource
を使用するには、app.config で各トレース ソースを手動で構成する必要があるようです。いくつかの共有リスナーを作成し、それらを「グローバルフィルター」などで使用する方法はありませんかTraceEventType
?EventLogListener
等。)
c# - OWIN が log4net に干渉する
私のアプリケーションでは、次のロギング戦略/アペンダがあります。
- DebugAppender : ルート レベルが DEBUG の場合、DEBUG に一致するすべてのメッセージをデフォルトのトレース リスナー出力に書き込みます。
- ConsoleAppender : アプリケーション モード (グローバル コンテキスト プロパティ) が「コンソール」の場合、WARN の上のすべてのメッセージをコンソール出力に書き込みます
- EventLogAppender : アプリケーション モード (グローバル コンテキスト プロパティ) が「サービス」の場合、エラーを超えるすべてのメッセージをコンソール出力に書き込みます
- RollingFileAppender : INFO の上のすべてのメッセージをローリング フラット ファイルに書き込みます
これは、インターフェイスを使用して OWIN Web ホストを開始する最初の行まで、アプリケーション全体で非常にうまく機能しIAppBuilder
ます。を呼び出すWebApp.Start
とすぐに、次の動作に気付きました。
- デバッグ メッセージ (ILogger.Debug) がコンソール出力に書き込まれる
- デバッグ メッセージ (ILogger.Debug) が VS デバッグ出力に 2 回書き込まれる
さらに調査したところ、OWIN がSystem.Diagnostics.DefaultTraceListener
およびのインスタンスをSystem.Diagnostics.TextWriterTraceListener
デフォルトのトレース/デバッグ出力にサイレントにアタッチしたことがわかりました。これが問題の原因である可能性があります。ただし、DefaultTraceListener
app.config で明示的に宣言しても役に立ちませんでした。
OWINをより少なく...卑劣になるように構成する方法はありますか?
c# - EventSchemaTraceListener で TraceLogRetentionOption を設定すると、実際に何かが行われますか?
シーケンシャル ファイルの無制限のセットを生成したいSystem.Diagnostics.EventSchemaTraceListener
ので、TraceLogRetentionOption.UnlimitedSequentialFiles
. ただし、トレース出力は、複数の順次ファイルではなく、1 つのファイルに書き込まれました。
この特定のログ保持オプションの使用に関する公式または非公式のドキュメントまたはコード サンプルはありますか? それに失敗した場合、以下のコードは何らかの形で間違っていますか?
魔法の設定を減らすために、コードですべてを行います。初期化されるはずの方法は次のとおりです。
そして、私はそれに数回ログインします:
単一のevent.log
ファイルが作成され、期待されるすべての情報が含まれていることを確認しましたTraceLogRetentionOption
が、単一のファイルのサイズが指定された最大 1kB を超えているため、尊重されていません。
私は何を間違っていますか?
c# - ConsoleTraceListener(Boolean) - Passing in a string
I set up a TraceListener using this XML:
I then realised that the initializeData
attribute is the string passed to the constructor for the specified class.
However the constructor for ConsoleTraceListener
takes a Boolean
. So why does this not throw an Exception at runtime when it tries to convert that string to a Boolean?
unit-testing - VS2015: テスト エクスプローラーの TraceSource 出力?
単体テストしようとしているライブラリがあります。TraceSource を使用して警告の詳細を書き出します。単体テストをビルドの一部として実行するように設定しているので、テストの実行時 (特に失敗時) にそれらを表示したいと考えています。
トレース リスナーを登録するために次のコードを試しましたが、コンストラクターが呼び出されているにもかかわらず、WriteLine が呼び出されません。下部のコードを参照してください [1]。
トレースをテスト ランナーの一部として表示するにはどうすればよいですか?
[1] testcontexttracelistener のコード:
visual-studio-2015 - MSTest でトレース ソースを有効にする
私は、テストを書いている複雑な側にある DLL を持っています。TraceSource
テスト対象のほとんどのクラスには、トレース情報の出力に使用される独自のオブジェクトがあります。
MyDll
プロジェクト内には、次のように、すべての にApp.config
共通の を追加するファイルがあります。ConsoleTraceListener
TraceSource
App.config
常に出力ディレクトリにコピーするように構成されています。それが関連しているかどうかはわかりません。
ここに問題があります。1 つのテストを実行すると、テストからの出力にすべてのトレース情報が表示されます。ただし、すべてのテストを実行すると、最初のテスト実行のみがテスト対象のコードからトレースされます。他のすべてのテストには出力がありません。
TraceSource
MSTest にすべてのテストのすべてのトレース情報を出力させるにはどうすればよいですか?