エンタープライズライブラリをインストールする
ここから Enterprise Library 4.1 をダウンロードしてください 。 ロギングユニットに加えて、他の多くのコンポーネントがインストールされていることに注意してください。
Visual Studioで新しいプロジェクトを作成する
Viual Studioを開き、新しいコンソールアプリケーションを作成して、 HelloWorldEntLibLoggingなどの名前を付けます。
次に、ライブラリへの参照を追加する必要があります。
ロギング構成
ロギングユニットを含むほとんどのEntLib機能が設定されています。 構成ファイルをプロジェクトに追加し、ライブラリとともにインストールされたVisual Studioのアドオンを使用して情報を追加する必要があります。
ソリューションエクスプローラーを使用して、新しいアプリケーション構成ファイルを追加し、デフォルトのファイル名app.configのままにします。
次に、app.configを右クリックして、[エンタープライズライブラリ構成の編集]を選択します。
開いたエディターで、「新規」を選択します| ロギングアプリケーションブロック:
新しいロギングアプリケーションブロックがエディターツリーに表示されます。
エディターを閉じ、app.configを開きます。
1: <? xml version ="1.0" encoding ="utf-8" ? >
2: < configuration >
3: < configSections >
4: < section name ="loggingConfiguration" type ="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
5: < section name ="dataConfiguration" type ="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
6: </ configSections >
7: < loggingConfiguration name ="Logging Application Block" tracingEnabled ="true"
8: defaultCategory ="General" logWarningsWhenNoCategoriesMatch ="true" >
9: < listeners >
10: < add source ="Enterprise Library Logging" formatter ="Text Formatter"
11: log ="Application" machineName ="" listenerDataType ="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
12: traceOutputOptions ="None" filter ="All" type ="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
13: name ="Formatted EventLog TraceListener" />
14: </ listeners >
15: < formatters >
16: < add template ="Timestamp: {timestamp} Message: {message} Category: {category} Priority: {priority} EventId: {eventid} Severity: {severity} Title:{title} Machine: {machine} Application Domain: {appDomain} Process Id: {processId} Process Name: {processName} Win32 Thread Id: {win32ThreadId} Thread Name: {threadName} Extended Properties: {dictionary({key} - {value} )}"
17: type ="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
18: name ="Text Formatter" />
19: </ formatters >
20: < categorySources >
21: < add switchValue ="All" name ="General" >
22: < listeners >
23: < add name ="Formatted EventLog TraceListener" />
24: </ listeners >
25: </ add >
26: </ categorySources >
27: < specialSources >
28: < allEvents switchValue ="All" name ="All Events" />
29: < notProcessed switchValue ="All" name ="Unprocessed Category" />
30: < errors switchValue ="All" name ="Logging Errors & Warnings" >
31: < listeners >
32: < add name ="Formatted EventLog TraceListener" />
33: </ listeners >
34: </ errors >
35: </ specialSources >
36: </ loggingConfiguration >
37: </ configuration >
* This source code was highlighted with Source Code Highlighter .
現在、ファイルにはさまざまな設定がありますが、現時点ではそれらの設定は重要ではありません。
ロギングコードをアプリケーションに追加します
名前空間を接続します。
using Microsoft.Practices.EnterpriseLibrary.Logging;
* This source code was highlighted with Source Code Highlighter .
次に、次のコードをProgram.csに追加します。
class Program
{
static void Main( string [] args)
{
LogEntry entry = new LogEntry()
{
Message = "Hello Ent. Lib. Logging"
};
Logger.Write(entry);
}
}
* This source code was highlighted with Source Code Highlighter .
これですべてです。
アプリケーションの起動とロギングの確認
アプリケーションを実行してから、Windowsイベントビューアーを実行して、最新のイベントを監視します。 記録された情報が表示されるはずです。
LogEntryで 重大度を指定することもできます。
LogEntry entry = new LogEntry()
{
Message = "Hello Ent. Lib. Logging" ,
Severity = TraceEventType.Critical
};
* This source code was highlighted with Source Code Highlighter .
ここでアプリケーションを実行すると、重大なWindowsイベントビューアーエラーが表示されます。
PSログブロックに加えて、EntLibには、キャッシング、暗号化、データアクセス、例外処理、ログ、ポリシーインジェクション、セキュリティ、検証、Unityなど、他の多数のブロックが含まれることを自分から追加します。 詳細については、 http://entlib.codeplex.com/をご覧ください 。