エンタープライズライブラリの使用5.0唯一のブロックである.NET 4.0でのログブロックコールスタック、アセンブリ名、おそらくは行番号を呼び出すために記録された情報をカスタマイズしようとしました。エンタープライズライブラリ5.0ロギングブロックのカスタマイズ
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} 
Message: {message}{newline}
Category: {category}{newline}
Priority: {priority}{newline}
EventId: {eventid}{newline}
Severity: {severity}{newline}
Title:{title}{newline}
Machine: {localMachine}{newline}
App Domain: {localAppDomain}{newline}
ProcessId: {localProcessId}{newline}
Process Name: {localProcessName}{newline}
Thread Name: {threadName}{newline}
Win32 ThreadId:{win32ThreadId}{newline}
Extended Properties: {dictionary({key} - {value}{newline})}{newline}
Method: {property(MethodName)}{newline}
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>
は、私はこれらのプロパティは、ログインして確認するために行う必要がある何か他のものはありますか?たとえば、「行番号」などの完全なカスタムプロパティを追加するにはどうすればよいですか?
親愛なるVictor、 テキストフォーマッタを使用してコールスタック情報を表示するためにこの問題をどのように解決したか説明してください。 ありがとう –