예제 #1
0
        public void TestSolutiaLogToFileSucceeds()
        {
            var fileSink = new FileLogSink()
            {
                Name = "TestLogger",
                MinimumEventLevel     = EventLevel.Trace,
                FileName              = "c:\\solutiatest\\testlog.txt",
                LogEntryConfiguration = new List <LogEntryComponent>()
                {
                    LogEntryComponent.Date,
                    LogEntryComponent.MachineName,
                    LogEntryComponent.Message,
                    LogEntryComponent.LogLevel
                }
            };

            new Solutia.Logging.Nlog.Implementation.LogWriter("d")
            .Configure(new List <ILogSink>()
            {
                fileSink
            })
            .Log(new LogMessage("Hello from Solutia File Logger", EventLevel.Debug));
        }
예제 #2
0
        public void TestSolutiaLogToDatabaseFileAndEventLogSucceeds()
        {
            var entryConfig = new List <LogEntryComponent>()
            {
                LogEntryComponent.Date,
                LogEntryComponent.MachineName,
                LogEntryComponent.Message,
                LogEntryComponent.LogLevel,
                LogEntryComponent.ApplicationName
            };

            var fileSink = new FileLogSink()
            {
                Name = "TestLogger",
                MinimumEventLevel     = EventLevel.Trace,
                FileName              = "c:\\solutiatest\\testlog.txt",
                LogEntryConfiguration = entryConfig
            };

            var elSink = new EventLogSink()
            {
                Name                  = "TestLogger",
                Source                = "TestLogger",
                Log                   = "TestLogger",
                MinimumEventLevel     = EventLevel.Trace,
                LogEntryConfiguration = entryConfig
            };

            var dbSink = new DatabaseLogSink()
            {
                ConnectionString = "Data Source=LAPTOP-6EA15661\\SQLEXPRESS;Initial Catalog=Logging;Integrated Security=True",
                CommandText      = "WriteLog",
                Name             = "TestLogger",
                CommandType      = CommandType.StoredProcedure,
                Parameters       = new List <DbLogSinkCommandParameter>()
                {
                    new DbLogSinkCommandParameter()
                    {
                        Name = "SeverityLevel",
                        LogEntryComponent = LogEntryComponent.LogLevel
                    },

                    new DbLogSinkCommandParameter()
                    {
                        Name = "Source",
                        LogEntryComponent = LogEntryComponent.MachineName
                    },

                    new DbLogSinkCommandParameter()
                    {
                        Name = "Message",
                        LogEntryComponent = LogEntryComponent.Message
                    },

                    new DbLogSinkCommandParameter()
                    {
                        Name = "LogId",
                        LogEntryComponent = LogEntryComponent.LogId
                    },

                    new DbLogSinkCommandParameter()
                    {
                        Name = "ApplicationName",
                        LogEntryComponent = LogEntryComponent.ApplicationName
                    }
                }
            };

            ILogWriter writer = new LogWriter("d")
                                .Configure(new List <ILogSink>()
            {
                fileSink, elSink, dbSink
            })
                                .Log(new LogMessage("Hello from Solutia File Logger", EventLevel.Debug));

            writer.Log(new ExceptionLogMessage(new NullReferenceException("This is an exceptional exception.")));

            writer.Log(new ApplicationLogMessage("ThisApp", "This Message", EventLevel.Debug));
        }
예제 #3
0
 public override ILogSink Create(string name, ILogger iLogger, string directoryForLogs)
 {
     var fls = new FileLogSink(name) {LogFileDirectory = directoryForLogs};
     return fls;
 }