示例#1
0
        static void Main(string[] args)
        {
            // 構成情報を組み立てる
            var builder = new ConfigurationSourceBuilder();
            builder.ConfigureLogging()
                .SpecialSources
                .AllEventsCategory
                    .SendTo
                    .FlatFile("FlatFileListener")
                    .FormatWith(
                        new FormatterBuilder()
                            .TextFormatterNamed("TextFormatter")
                            .UsingTemplate("{timestamp(local:yyyy/MM/dd HH:mm:ss.fff)}: {message}"))
                    .ToFile("output.txt");

            // 組み立てた構成情報からIServiceLocatorを作成
            EnterpriseLibraryContainer.Current = builder.CreateContainer();

            // EnterpriseLibraryのコンテナからLogging Application BlockのLog書き込み部品を取得
            var logger = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
            // ログに出力する
            logger.Write("Hello world");

            // ログを表示
            Process.Start("output.txt");
        }
示例#2
0
        static void Main(string[] args)
        {
            // 構成情報を組み立てる
            var builder = new ConfigurationSourceBuilder();

            builder.ConfigureLogging()
            .SpecialSources
            .AllEventsCategory
            .SendTo
            .FlatFile("FlatFileListener")
            .FormatWith(
                new FormatterBuilder()
                .TextFormatterNamed("TextFormatter")
                .UsingTemplate("{timestamp(local:yyyy/MM/dd HH:mm:ss.fff)}: {message}"))
            .ToFile("output.txt");

            // 組み立てた構成情報からIServiceLocatorを作成
            EnterpriseLibraryContainer.Current = builder.CreateContainer();

            // EnterpriseLibraryのコンテナからLogging Application BlockのLog書き込み部品を取得
            var logger = EnterpriseLibraryContainer.Current.GetInstance <LogWriter>();

            // ログに出力する
            logger.Write("Hello world");

            // ログを表示
            Process.Start("output.txt");
        }
示例#3
0
        static void Main(string[] args)
        {
            var builder = new ConfigurationSourceBuilder();
            builder.ConfigureLogging()
                .WithOptions.FilterOnPriority("aaa").UpToPriority(10)
                // 名前を付けてログの定義を開始
                .LogToCategoryNamed("General")
                    // WithOptionsで追加オプション
                    // ここではGeneralをデフォルトのカテゴリとして設定
                    .WithOptions.SetAsDefaultCategory()
                    // フラットファイルに出力ファイル名はdefault.log
                    .SendTo.FlatFile("FlatFileListener").ToFile("default.log")
                    // フィルタリング(警告以上を表示する)
                    .Filter(SourceLevels.Warning)
                    // ログのフォーマットを指定
                    .FormatWith(new FormatterBuilder()
                        // フォーマッタの名前を指定
                        .TextFormatterNamed("LogFormatter")
                        // フォーマットを指定
                        .UsingTemplate("{timestamp(local:yyyy/MM/dd HH:mm:ss.fff)}:  {severity}: {message}"))
                // Rollingという名前でログの定義を開始
                .LogToCategoryNamed("Rolling")
                    // SendTo.RollingFileで一定の条件を満たしたらローリング
                    .SendTo.RollingFile("RollingFileListener")
                        // 1000KBでローリング
                        .RollAfterSize(1000)
                        // 1分間隔でローリング
                        .RollEvery(RollInterval.Minute)
                        // ローリングしたファイルにタイムスタンプをつける
                        .UseTimeStampPattern("yyyyMMddHHmmssfff")
                        // 10世代管理
                        .CleanUpArchivedFilesWhenMoreThan(10)
                        // ファイル名はrolling.log
                        .ToFile("rolling.log")
                // EventLogという名前でログの定義を開始
                .LogToCategoryNamed("EventLog")
                    // EventLogに送信するEventLogListener
                    .SendTo.EventLog("EventLogListener")
                    // ソースはApplication
                    .UsingEventLogSource("Application");

            EnterpriseLibraryContainer.Current = builder.CreateContainer();

            var l = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
            // Verbose~Criticalまでのログを出力
            l.Write(new LogEntry { Message = "VerboseMessage", Severity = TraceEventType.Verbose});
            l.Write(new LogEntry { Message = "InformationMessage", Severity = TraceEventType.Information});
            l.Write(new LogEntry { Message = "WarningMessage", Severity = TraceEventType.Warning});
            l.Write(new LogEntry { Message = "ErrorMessage", Severity = TraceEventType.Error});
            l.Write(new LogEntry { Message = "CriticalMessage", Severity = TraceEventType.Critical});

            Process.Start("default.log");

            foreach (var i in Enumerable.Range(1, 100000))
            {
                l.Write("ログメッセージ", "Rolling");
                l.Write(new LogEntry { Message = "sample message", Categories = { "Rolling" } });
            }

            l.Write("EventLogMessage", "EventLog", 0, 0, TraceEventType.Information);
        }
示例#4
0
        static void Main(string[] args)
        {
            var builder = new ConfigurationSourceBuilder();

            builder.ConfigureLogging()
            .WithOptions.FilterOnPriority("aaa").UpToPriority(10)
            // 名前を付けてログの定義を開始
            .LogToCategoryNamed("General")
            // WithOptionsで追加オプション
            // ここではGeneralをデフォルトのカテゴリとして設定
            .WithOptions.SetAsDefaultCategory()
            // フラットファイルに出力ファイル名はdefault.log
            .SendTo.FlatFile("FlatFileListener").ToFile("default.log")
            // フィルタリング(警告以上を表示する)
            .Filter(SourceLevels.Warning)
            // ログのフォーマットを指定
            .FormatWith(new FormatterBuilder()
                        // フォーマッタの名前を指定
                        .TextFormatterNamed("LogFormatter")
                        // フォーマットを指定
                        .UsingTemplate("{timestamp(local:yyyy/MM/dd HH:mm:ss.fff)}:  {severity}: {message}"))
            // Rollingという名前でログの定義を開始
            .LogToCategoryNamed("Rolling")
            // SendTo.RollingFileで一定の条件を満たしたらローリング
            .SendTo.RollingFile("RollingFileListener")
            // 1000KBでローリング
            .RollAfterSize(1000)
            // 1分間隔でローリング
            .RollEvery(RollInterval.Minute)
            // ローリングしたファイルにタイムスタンプをつける
            .UseTimeStampPattern("yyyyMMddHHmmssfff")
            // 10世代管理
            .CleanUpArchivedFilesWhenMoreThan(10)
            // ファイル名はrolling.log
            .ToFile("rolling.log")
            // EventLogという名前でログの定義を開始
            .LogToCategoryNamed("EventLog")
            // EventLogに送信するEventLogListener
            .SendTo.EventLog("EventLogListener")
            // ソースはApplication
            .UsingEventLogSource("Application");


            EnterpriseLibraryContainer.Current = builder.CreateContainer();

            var l = EnterpriseLibraryContainer.Current.GetInstance <LogWriter>();

            // Verbose~Criticalまでのログを出力
            l.Write(new LogEntry {
                Message = "VerboseMessage", Severity = TraceEventType.Verbose
            });
            l.Write(new LogEntry {
                Message = "InformationMessage", Severity = TraceEventType.Information
            });
            l.Write(new LogEntry {
                Message = "WarningMessage", Severity = TraceEventType.Warning
            });
            l.Write(new LogEntry {
                Message = "ErrorMessage", Severity = TraceEventType.Error
            });
            l.Write(new LogEntry {
                Message = "CriticalMessage", Severity = TraceEventType.Critical
            });

            Process.Start("default.log");

            foreach (var i in Enumerable.Range(1, 100000))
            {
                l.Write("ログメッセージ", "Rolling");
                l.Write(new LogEntry {
                    Message = "sample message", Categories = { "Rolling" }
                });
            }

            l.Write("EventLogMessage", "EventLog", 0, 0, TraceEventType.Information);
        }