問題タブ [trace]

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 投票する
2 に答える
2047 参照

asp.net - ASP.NET と System.Diagnostics のトレース - 何か見落としがありますか?それとも悪い考えですか?

さまざまな一般的な理由から、ASP.NET アプリケーションでトレースを使用したいと考えました。特に、強力な方法でトレースを調べることができるService Trace Viewerツールを使用できる可能性があることを知って以来.

私はこれまでこの痕跡を使ったことがなかったので、勉強を始めました。Google、SO、および MSDN をしばらく使用した後、ようやく物事がどのように機能するかについての良いアイデアが得られました。しかし、私はまた、非常に気がかりなことを1つ見つけました。

ASP.NET アプリケーションでトレースを使用する場合、Web 要求によってトレース メッセージをグループ化することは非常に理にかなっています。特に私がそれを使いたい理由の 1 つは、パフォーマンスの問題を研究するためです。上記のツール<Corrleation>は、生成された XML ファイルでタグを使用することにより、これもサポートします。これは から来ていSystem.Diagnostics.Trace.CorrelationManagerます。また、アクティビティの開始/停止などの他の優れた機能も使用できます。これにより、トレース メッセージをより適切にグループ化できます。かっこいいでしょ?

私もそう思っていましたが、CorrelationManager実際に住んでいた場所を調べ始めるまでは。結局のところ、それは静的プロパティでした。Reflector をいじってみたところ、恐ろしいことがわかりましたCallContextASP.NET で使用してはいけないものはどれですか?

それで...ここで何か足りないのですか?ASP.NET のトレースには本当に根本的な欠陥がありますか?

追加:うーん、私はこの内容を自分で書き直そうとしているところです。痕跡を探索するためにきちんとしたツールを使いたいと思っています。これをしてはいけない理由はありますか?おそらく、まだ何か良いものがありますか?すぐに答えが得られたら本当にいいですね。:)

追加 2:私の同僚は、これが単なる理論上の問題ではないことを確認しました。彼は、彼が取り組んでいるシステムでこれを観察しました。それで解決です。私は自分のやりたいように物事を行う新しい小さなシステムを構築するつもりです。:)

追加 3:うわー、すごい... Microsoft の担当者は、ASP.NET で Correlation Manager を使用することに何の問題も見つけられませんでした。結局、どうやらこのバグの修正は得られていないようです...

0 投票する
9 に答える
9918 参照

c# - C# 条件付きログ/トレース

C# アプリケーションにロギングまたはトレースを追加したいのですが、ログの詳細レベルが低く設定されているためにメッセージがログに記録されない場合に、文字列のフォーマットや値の計算のオーバーヘッドをログに記録したくありません。

C++ では、プリプロセッサを使用して、次のようにコードがまったく実行されないようにするマクロを定義できます。

次のように使用します。

C# でどのように行うのですか?

ここでトレースとデバッグ機能を説明している Microsoft ドキュメントを読みました。#undef DEBUG と #undef TRACE を使用すると、生成された実行可能ファイルからすべてのトレースとデバッグ コードが削除されると主張していますが、実際には呼び出し全体が削除されますか? つまり、私が書くなら

TRACE の定義を解除すると、高価な関数が呼び出されないのですか? または、呼び出しを行ってから、何も追跡しないと判断しますか?

とにかく、それが削除されたとしても、これは C++ マクロよりも劣っています。なぜなら、その大きな醜い呼び出しを C++ での単純な VLOG() 呼び出しのように見せて、パラメーターの評価を回避することはできないからです。また、C++ のように実行時に冗長性を低く定義してオーバーヘッドを回避することもできません。

0 投票する
6 に答える
28234 参照

c# - C# のすべてのメソッド呼び出しに Trace() を追加するにはどうすればよいですか?

ロックの問題を追跡するのに苦労しているので、すべてのメソッド呼び出しのエントリと終了をログに記録したいと思います。すべてのメソッドにコードを追加することなく、以前に C++ でこれを行ったことがあります。これはC#で可能ですか?

0 投票する
10 に答える
173005 参照

.net - ロギングのベスト プラクティス

人々が実際のアプリケーションでトレースとロギングをどのように処理しているかについての話を聞きたいです。あなたの答えを説明するのに役立ついくつかの質問があります。

フレームワーク

どのようなフレームワークを使用していますか?

  • log4net
  • System.Diagnostics.Trace
  • System.Diagnostics.TraceSource
  • ロギング アプリケーション ブロック
  • 他の?

トレースを使用する場合、Trace.Correlation.StartLogicalOperation を使用しますか?

このコードを手動で記述しますか、それともなんらかのアスペクト指向プログラミングを使用しますか? コード スニペットを共有しますか?

トレース ソースに対して何らかの形式の粒度を提供していますか? たとえば、WPF TraceSource を使用すると、さまざまなレベルで構成できます。

  • System.Windows -すべての WPF の設定
  • System.Windows.Animation -特にアニメーション用にオーバーライドします。

リスナー

どのログ出力を使用していますか?

  • テキストファイル
  • XML ファイル
  • イベントログ
  • 他の?

ファイルを使用する場合、ローリング ログを使用しますか、それとも単一のファイルのみを使用しますか? 人々がログを利用できるようにするにはどうすればよいですか?

閲覧中

ログを表示するためにどのツールを使用しますか?

  • メモ帳
  • しっぽ
  • イベントビューア
  • システム センター オペレーション マネージャー/マイクロソフト オペレーション マネージャー
  • WCF サービス トレース ビューアー
  • 他の?

ASP.NET ソリューションを構築している場合、ASP.NET ヘルス モニタリングも使用しますか? ヘルス モニター イベントにトレース出力を含めますか? Trace.axd はどうですか?

カスタム パフォーマンス カウンターはどうですか?

0 投票する
5 に答える
18149 参照

.net - log4net と TraceSource

このスレッドでは、多くの人が log4net を使用していることを示しています。私は TraceSources のファンであり、log4net が使用される理由を知りたいです。

私がトレースソースを好む理由は次のとおりです。

  • プラグ可能なリスナー - XML、TextFile、Console、EventLog、独自のロール
  • カスタマイズ可能なトレース スイッチ (エラー、警告、情報、詳細、開始、終了、カスタム)
  • カスタマイズ可能な構成
  • Logging Application Block は、TraceListeners の大きなセットにすぎません
  • アクティビティ/スコープの相関 (たとえば、ASP.NET 要求内のすべてのログを特定の顧客に関連付ける)
  • Service Trace Viewer を使用すると、これらのアクティビティに対するイベントを個別に視覚化できます
  • すべて app.config/web.config で設定できます。

.NET フレームワークは内部で TraceSource を使用するため、一貫した方法でトレースを構成することもできます。log4net では、TraceSource だけでなく log4net も構成する必要があります。

log4net は、TraceSources が提供しない (または、いくつかのカスタム TraceListeners を作成することによって実行できなかった) ことを教えてくれますか?

0 投票する
4 に答える
3157 参照

iis-7 - 従来の ASP は常に IIS7 でコード 200 を返します

IIS7 でトレースを有効にしました。IIS 管理ツールの [ASP] タブで、これらのプロパティを true に設定します。

  • appAllowClientDebug、
  • appAllowDebugging、
  • エラーToNTLog、
  • scriptErrorSentToBrowser;

それをテストするために、私は小さな古典的な ASP テスト ページを作成しました。このページには、自発的にバグ (不適切な ActiveX 名) を含めました。

私の ASP テスト ページは、バグ行に到達するまでレンダリングされます。ページの残りの部分はレンダリングされません。エラー コード 500 を予期していましたが、コードは常に 200 です。FailedReqLogFiles フォルダーにエラー ファイルはありません。

誰かアイデアはありますか?

0 投票する
5 に答える
7151 参照

.net - .NETアセンブリがTRACEまたはDEBUGフラグを使用してコンパイルされたかどうかを確認する方法

アセンブリを変更せずに、TRACEまたはDEBUGフラグが設定されたアセンブリがコンパイルされているかどうかを確認する方法はありますか?