public void ToLogEventInfoTest() { LogManager.Configuration = CreateConfigurationFromString(@" <nlog> <targets> <target name='debug1' type='Debug' layout='${message} ${event-context:foo} ${event-context:bar} ${event-context:baz}' /> <target name='debug2' type='Debug' layout='${message} ${event-context:foo} ${event-context:bar} ${event-context:baz}' /> <target name='debug3' type='Debug' layout='${message} ${event-context:foo} ${event-context:bar} ${event-context:baz}' /> </targets> <rules> <logger name='logger1' minlevel='Trace' writeTo='debug1' /> <logger name='logger2' minlevel='Trace' writeTo='debug2' /> <logger name='logger3' minlevel='Trace' writeTo='debug3' /> </rules> </nlog>"); var service = new LogReceiverForwardingService(); var events = new NLogEvents { BaseTimeUtc = new DateTime(2010, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).Ticks, ClientName = "foo", LayoutNames = new StringCollection { "foo", "bar", "baz" }, Strings = new StringCollection { "logger1", "logger2", "logger3", "zzz", "message1" }, Events = new[] { new NLogEvent { Id = 1, LevelOrdinal = 2, LoggerOrdinal = 0, TimeDelta = 30000000, MessageOrdinal = 4, Values = "0|1|2" }, new NLogEvent { Id = 2, LevelOrdinal = 3, LoggerOrdinal = 2, MessageOrdinal = 4, TimeDelta = 30050000, Values = "0|1|3", } } }; service.ProcessLogMessages(events); this.AssertDebugCounter("debug1", 1); this.AssertDebugCounter("debug2", 0); this.AssertDebugCounter("debug3", 1); this.AssertDebugLastMessage("debug1", "message1 logger1 logger2 logger3"); this.AssertDebugLastMessage("debug3", "message1 logger1 logger2 zzz"); }
public void ToLogEventInfoTest() { var logFactory = new LogFactory().Setup().LoadConfigurationFromXml(@" <nlog throwExceptions='true'> <targets> <target name='debug1' type='Debug' layout='${message} ${event-context:foo} ${event-context:bar} ${event-context:baz}' /> <target name='debug2' type='Debug' layout='${message} ${event-context:foo} ${event-context:bar} ${event-context:baz}' /> <target name='debug3' type='Debug' layout='${message} ${event-context:foo} ${event-context:bar} ${event-context:baz}' /> </targets> <rules> <logger name='logger1' minlevel='Trace' writeTo='debug1' /> <logger name='logger2' minlevel='Trace' writeTo='debug2' /> <logger name='logger3' minlevel='Trace' writeTo='debug3' /> </rules> </nlog>").LogFactory; var debug1 = logFactory.Configuration.FindTargetByName <NLog.Targets.DebugTarget>("debug1"); var debug2 = logFactory.Configuration.FindTargetByName <NLog.Targets.DebugTarget>("debug2"); var debug3 = logFactory.Configuration.FindTargetByName <NLog.Targets.DebugTarget>("debug3"); var service = new LogReceiverForwardingService(logFactory); var events = new NLogEvents { BaseTimeUtc = new DateTime(2010, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).Ticks, ClientName = "foo", LayoutNames = new StringCollection { "foo", "bar", "baz" }, Strings = new StringCollection { "logger1", "logger2", "logger3", "zzz", "message1" }, Events = new[] { new NLogEvent { Id = 1, LevelOrdinal = 2, LoggerOrdinal = 0, TimeDelta = 30000000, MessageOrdinal = 4, Values = "0|1|2" }, new NLogEvent { Id = 2, LevelOrdinal = 3, LoggerOrdinal = 2, MessageOrdinal = 4, TimeDelta = 30050000, Values = "0|1|3", } } }; service.ProcessLogMessages(events); Assert.Equal(1, debug1.Counter); Assert.Equal(0, debug2.Counter); Assert.Equal(1, debug3.Counter); Assert.Equal("message1 logger1 logger2 logger3", debug1.LastMessage); Assert.Equal("message1 logger1 logger2 zzz", debug3.LastMessage); logFactory.Shutdown(); }