title: Loggin Application Blockを使ってHello worldというログをファイルに出力する方法
url:
http://d.hatena.ne.jp/okazuki/20120405/1333635760
snippet:
-----引用-----
NuGet Package Managerから「EnterpriseLibrary Logging」で検索をして「Enterprise Library 5.0 – Logging Application Block」をプロジェクトに追加
続けて参照の追加からSystem.Configurationを追加
1.
using System.Diagnostics;
2.
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
3.
using Microsoft.Practices.EnterpriseLibrary.Logging;
4.
5.
namespace HelloWorld
6.
{
7.
class Program
8.
{
9.
static void Main(string[] args)
10.
{
11.
// 構成情報を組み立てる
12.
var builder = new ConfigurationSourceBuilder();
13.
builder.ConfigureLogging()
14.
.SpecialSources
15.
.AllEventsCategory
16.
.SendTo
17.
.FlatFile("FlatFileListener")
18.
.FormatWith(
19.
new FormatterBuilder()
20.
.TextFormatterNamed("TextFormatter")
21.
.UsingTemplate("{timestamp(local:yyyy/MM/dd HH:mm:ss.fff)}: {message}"))
22.
.ToFile("output.txt");
23.
24.
// 組み立てた構成情報からConfigurationSourceを作成
25.
var config = new DictionaryConfigurationSource();
26.
builder.UpdateConfigurationWithReplace(config);
27.
28.
// 構成情報を元にEnterpriseLibraryのコンテナの初期化
29.
EnterpriseLibraryContainer.Current = EnterpriseLibraryContainer.CreateDefaultContainer(config);
30.
31.
// EnterpriseLibraryのコンテナからLogging Application BlockのLog書き込み部品を取得
32.
var logger = EnterpriseLibraryContainer.Current.
GetInstance<LogWriter>();
33.
// ログに出力する
34.
logger.Write("Hello world");
35.
36.
// ログを表示
37.
Process.Start("output.txt");
38.
}
39.
}
40.
}
-----引用-----