問題タブ [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# - Service Trace Viewer で ApplicationData を XML としてフォーマットする
TraceSource
に情報を記録するために使用していますXmlWriterTraceListener
。ログに記録しているメッセージは XML ですが、Service Trace Viewer でメッセージを表示すると、XML として表示されず、文字列として表示されます。これを行う方法はありますか?ここに私のapp.configがあります
以下は私のコードです:
以下は、Service Trace Viewer での表示方法です。
<ApplicationData>
タグの下にあるものをXMLとしてフォーマットする方法はありますか?
編集
svcfile を開いたところ、文字列が正しくエンコードされていないことがわかりました。なぜそうではないのですか?
c# - app.config を使用して TextWriterTraceListener が追加されないようにするにはどうすればよいですか?
ロギングに System.Diagnostics.TraceSource を使用していますが、リスナーの 1 つは TextWriterTraceListener です。ここのトレーシング プライマーでは、これを次のように設定します。
問題は、これが常に output.txt に追加されることです。これを構成ファイルの上書きに変更するにはどうすればよいですか?
プログラム的に私が望むリスナーは次のとおりです。
c#-4.0 - トレース リスナーがトレース情報を書き込んでいない
以下は、トレース ソースを初期化し、リスナーを追加するコードです。
コードでタグを付けたいので、SytemDiagnostic
タグを入れていないことに注意してください。appconfig
logging - TraceSource の Common.Logging
アプリケーションに Common.Logging を採用しようとしていますが、system.diagnostics での設定に問題があります。ストレート アップの Trace では機能しますが、TraceSource では機能しません。Common.Logging.Simple.TraceLoggerFactoryAdapterを使用していました。TraceSource 用に別のアダプターが必要ですか?
.net - Diagnostics.TraceSource はバッファリングされたログをサポートしていますか?
Diagnostics.TraceSource は、バッファリングされたログやその他のキューイング メカニズムをサポートしていますか?
さまざまなロギング フレームワークに関する多くの質問に出くわしたことは間違いありません。これらの質問の多くについて、誰かが「log4net と NLog が行うすべてのことを行う TraceSource を使用することを望みます」と述べています。しかし、私の旅行やグーグルでは、NLog や Log4Net でサポートされているような、バッファリングまたはバッチ ロギングに関する議論は見つかりませんでした。
.net - マルチスレッド環境での TraceSource の使用
非同期ワークフローを使用して F# でアプリケーションを作成しました。今私がやりたいことはそれにいくつかのトレースを追加することです!
基本的に、複数回インスタンス化できるクラス A があります。インスタンスのそれぞれは、独立して非同期 (それ自体) および並列 (他に対して) 動作しています。私の基本的なアイデアは、A のすべてのインスタンスに TraceSource インスタンスを追加することです。これは、おそらく私がやりたいことです。https://github.com/matthid/fsharpasynctraceを介して Async オブジェクトを使用して TraceSource を配布する問題を解決できました
ただし、すべての TraceSource インスタンスに同じ名前が付けられている場合、それらの一部は同じファイル (log.txt) に書き込まれ、その他は {guid}log.txt に書き込まれます。
すべてのインスタンスに別の名前を付けた場合、ユーザーは app.config ファイルを編集してログを正しく取得する必要があります。A のすべてのインスタンスには、ユーザーが指定した論理名があるため、インスタンスのログを name_log.txt に保存するのが理想的です。(これは、ユーザーが基本的に実行時に A のインスタンスを作成しているためです)
だから私の質問は:これを行うためのより良い方法はありますか?つまり、ユーザーが対話せずに(app.configを介して)必要な出力と柔軟性を得ることができますか?
注: 基本的にすべてがスレッドプールにあり、インスタンス間で同時に多くのアクションが発生する可能性があるため、クラスまたはスレッドをトレースすることはまったくオプションではありません。
注 2: app.config を何らかの方法で拡張し、それを自分で行うことを考えることができます。これが私の唯一のオプションですか?
編集:質問をより明確にするために:
次のクラスを想像してください。
このクラスのインスタンスが多数あり、すべてのインスタンスが非常に長く存続しています。これで、上記の状況になりました。(F# では使用できない保護された tracesource によって実行できる抽象メンバーもトレースしたいと考えています。また、いくつかのモジュール関数をトレースしたいと考えています。それが、上記の分散モデルを選択した理由です。それを行う場合他の方法では、ログを調べるのに苦労します。)
c# - app.config で複数の tracesource フィルターを組み合わせる
アプリケーションで FileTraceListeners を構成したいと考えています。これは、「詳細」レベルのメッセージを無視しますが、「情報」レベル以上、および「開始」イベントと「停止」イベントをログに記録します。
すべてが app.config ファイル内で構成されます。ただし、これらの異なるトレース レベルを組み合わせる正しい構文が見つかりません。 フィルタの構文については、こちらで説明しています。
「情報」に 1 つのフィルターを使用すると、「情報」、「警告」、「エラー」、または「重大」以外のすべてが正しく除外されます。ただし、「開始」イベントと「停止」イベントも含めたいと思います。
2つのフィルターを使用してみました:
initializeDateを組み合わせてみた
コンマ付き:
initializeData="Information,ActivityTracing"
またはセミコロン initializeData="Information;ActivityTracing"
すべてが構文エラーを引き起こすだけです。
これら 2 つのフィルターを app.config 内で組み合わせるにはどうすればよいですか?
(私はネイティブの .net 3.5 ロギング ライブラリを使用しており、現時点では log4net または別のフレームワークに変更したくありません。)
c# - 複数のトレースソース間で構成を共有する
私は TraceSource の設定に行き詰まっています。
「クラスごとに 1 つのパターン」に従って多くの TraceSource があり、app.config でそれらすべてを構成したいと考えています。
出来ますか ?
TraceSource は .dll にあり、.exe app.config を使用したいと思います。
ご協力いただきありがとうございます。
ヴィンセント。
c# - app.config 内の既存のトレース ソースにトレース リスナーをアタッチする
コード内に特定の名前でトレース ソースを作成した後、app.config のセクションを使用して、実行時にリスナーをアタッチしたいと考えています。
ここに私のapp.configがあります:
コードでメッセージが生成されていることがわかります
しかし、ログ ファイルには何も出力されません (作成さえされません)。ブレークポイントを設定して を見るとthis.TraceSource.Listeners
、空です。
ここで私が間違っていること、またはこの種のデバッグに関するヒントはありますか? このような既存のソースに新しいリスナーをアタッチすることさえ可能ですか?
また、次のことを試しましたが、成功しませんでした。
.net - TraceListenerのヘッダーとフッター
カスタムTraceListenerを作成する場合、ライトヘッダー、データ/メッセージ、およびライトフッターを1つの目立たないレコードにする方法を教えてください。具体的には、問題のカスタムtracelistenerは、データベースやイベントストリームなどの非ファイルベースのソースに書き込みます。TraceListenerのwriteHeader、writefooterベースメソッドを無視するか、何らかの方法で単一の書き込みイベントにパッケージ化する必要があります。