2

私が使用している唯一のブロックである .NET 4.0 で Enterprise Library 5.0 Logging Block を使用して、ログに記録される情報をカスタマイズして、コール スタック、呼び出しアセンブリ名、およびおそらく行番号を含めようとしました。そこで、作成したテキスト フォーマッターに移動し、いくつかのエントリを追加しました。

Method: {property(MethodName)}{newline}
Call Stack:{property(CallStack)}

その後、一致するテキスト フォーマッタ設定ファイルのエントリは次のようになります。

    <formatters>
        <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            template="Timestamp: {timestamp} &#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}{newline}&#xA;Method: {property(MethodName)}{newline}&#xA;Call Stack:{property(CallStack)}"
            name="Text Formatter" />
    </formatters>

そこに新しく追加されたエントリが表示されます。しかし、実行すると、ログ エントリは次のようになります。

----------------------------------------
Timestamp: 12/15/2011 9:51:48 PM 
Message: Starting up the application

Category: General

Priority: -1

EventId: 0

Severity: Information

Title:

Machine: HCCLI066

App Domain: WindowsFormsApplicationTest1.vshost.exe

ProcessId: 2488

Process Name: C:\Projects\WindowsFormsApplicationTest1\bin\Debug\WindowsFormsApplicationTest1.vshost.exe

Thread Name: 

Win32 ThreadId:2636

Extended Properties: 

Method: <Error: property MethodName not found>

Call Stack:<Error: property CallStack not found>

これらのプロパティがログに記録されていることを確認するために他に必要なことはありますか? たとえば、「行番号」などの完全なカスタム プロパティを追加するにはどうすればよいですか?

4

1 に答える 1

0

この記事は必要以上のことを行いますが、信頼できます。

http://www.codeproject.com/KB/architecture/DistributedLogging.aspx

私が見つけた別のもの:

http://www.dotnetscraps.com/dotnetscraps/post/how-to-configure-and-use-the-logging-application-block.aspx

後者は 4.1 に適用されますが、ログ ブロックを使用して 5.0 の "Whats New" について MSDN のドキュメントと照らし合わせて確認するのにおそらく適しています。

于 2011-12-22T06:21:49.150 に答える