0

私がそのように定義した場合TraceSource

private static TraceSource traceSource = new TraceSource("MyTrace");

次に、コードからメッセージを投稿します。

traceSource.TraceEvent(TraceEventType.Information, 1, "My message");

web.configが次の場合:

<system.diagnostics>
    <trace autoflush="true"/>
    <sources >
      <source name="MyTrace" switchName="Myswitch" >
        <listeners>
          <add name="textWriterListener" traceOutputOptions="DateTime"
              type="System.Diagnostics.TextWriterTraceListener"
              initializeData="Log\My_diagnostic.log">
          </add>
          <remove name="Default" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="Myswitch" value="Verbose" />
    </switches>
</system.diagnostics>

My_diagnostic.logトレースファイルで取得するのは次のとおりです。

MyTrace Information: 1 : My message
    DateTime=2013-03-05T04:45:54.9240441Z

このスクリプトが実行されるIISサーバーには、デフォルトで英語-米国コードページが構成されています。

私の質問は、My_diagnostic.logコードページが英語以外の言語に設定されている場合、トレースファイルの出力は同じになるのでしょうか?また、日付/時刻の形式は上記で引用したものと同じになりますか?

4

1 に答える 1

2

はい、Trace呼び出した固定テキストの魔法の翻訳はありません。

結果のログは、ユーザーではなく元の開発者によって使用されることが予想されるため、トレース メッセージをローカライズすることは一般的ではありません。一方、必要に応じてローカライズされたメッセージを配置できます。

日付形式は UTC タイム ゾーンの ISO8601 であるため、ユーザーまたはサーバーのカルチャまたはタイム ゾーンに関係なく変更されません。

于 2013-03-05T06:35:15.517 に答える