このブログの中を検索する

2012/05/21

Loggin Application Blockを使ってHello worldというログをファイルに出力する方法

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. }

-----引用-----

0 件のコメント:

コメントを投稿