public void RedirectsToCommonLogging() { CapturingLoggerFactoryAdapter testLoggerFactoryAdapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = testLoggerFactoryAdapter; // force entlib logging init Logger.Write("init"); // ensure external configuration didn't change Assert.AreEqual("Test Capturing Listener", TestCommonLoggingEntlibTraceListener.Instance.Name); LogEntry logEntry = new LogEntry(); logEntry.Categories.Add("mycategory"); logEntry.Message = "testmessage"; ILogFormatter formatter = TestCommonLoggingEntlibTraceListener.Instance.Formatter; string s = formatter.Format(logEntry); Assert.AreEqual("Category: mycategory, Message: testmessage", s); using (TestCommonLoggingEntlibTraceListener.Instance.Capture()) { // note that output depends on the formatter configured for the entlib listener! Logger.Write("message1"); Assert.AreEqual("Category: General, Message: message1", testLoggerFactoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual(LogLevel.Info, testLoggerFactoryAdapter.LastEvent.Level); Logger.Write("message2", "custom category", -1, -1, TraceEventType.Warning); Assert.AreEqual("Category: custom category, Message: message2", testLoggerFactoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual("Test Capturing Listener/All Events", testLoggerFactoryAdapter.LastEvent.Source.Name); Assert.AreEqual(LogLevel.Warn, testLoggerFactoryAdapter.LastEvent.Level); } }
public void RedirectsToCommonLogging() { CapturingLoggerFactoryAdapter testLoggerFactoryAdapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = testLoggerFactoryAdapter; // force entlib logging init Logger.SetLogWriter(new LogWriterFactory().Create()); Logger.Write("init"); // ensure external configuration didn't change LogEntry logEntry = new LogEntry(); logEntry.Categories.Add("mycategory"); logEntry.Message = "testmessage"; // Change to EL 6 (no longer uses Unity) so need to get listener via LogWriter var allEventsSource = Logger.Writer.GetMatchingTraceSources(logEntry).First(source => "All Events".Equals(source.Name)); var listener = (CommonLoggingEntlibTraceListener) allEventsSource.Listeners.First(l => l is CommonLoggingEntlibTraceListener); Assert.IsTrue(listener.Name.StartsWith("Test Capturing Listener")); ILogFormatter formatter = listener.Formatter; string s = formatter.Format(logEntry); Assert.AreEqual("Category: mycategory, Message: testmessage", s); // note that output depends on the formatter configured for the entlib listener! Logger.Write("message1"); Assert.AreEqual("Category: General, Message: message1", testLoggerFactoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual(LogLevel.Info, testLoggerFactoryAdapter.LastEvent.Level); Logger.Write("message2", "custom category", -1, -1, TraceEventType.Warning); Assert.AreEqual("Category: custom category, Message: message2", testLoggerFactoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual("Test Capturing Listener/All Events", testLoggerFactoryAdapter.LastEvent.Source.Name); Assert.AreEqual(LogLevel.Warn, testLoggerFactoryAdapter.LastEvent.Level); }
public void RoutesToCommonLogging() { // CommonLoggingAppender appender = new CommonLoggingAppender(); // appender.Layout = new PatternLayout("%level - %class.%method: %message"); // BasicConfigurator.Configure(stm); Stream stm = this.GetType().Assembly.GetManifestResourceStream(this.GetType().FullName + "_log4net.config.xml"); XmlConfigurator.Configure(stm); CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = adapter; string message = "testmessage"; Exception exception = new Exception("testexception"); adapter.ClearLastEvent(); log4net.LogManager.GetLogger(this.GetType()).Debug(message, exception); Assert.AreEqual(this.GetType().FullName, adapter.LastEvent.Source.Name); Assert.AreEqual(string.Format("{0} - {1}.{2}: {3}", Level.Debug, this.GetType().FullName, MethodBase.GetCurrentMethod().Name , message), adapter.LastEvent.MessageObject.ToString()); Assert.AreSame(exception, adapter.LastEvent.Exception); adapter.ClearLastEvent(); log4net.LogManager.GetLogger(this.GetType()).Warn(message, exception); Assert.AreEqual(this.GetType().FullName, adapter.LastEvent.Source.Name); Assert.AreEqual(string.Format("{0} - {1}.{2}: {3}", Level.Warn, this.GetType().FullName, MethodBase.GetCurrentMethod().Name , message), adapter.LastEvent.MessageObject.ToString()); Assert.AreSame(exception, adapter.LastEvent.Exception); }
public void AcceptsNullCategory() { CapturingLoggerFactoryAdapter factoryAdapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = factoryAdapter; CommonLoggingTraceListener l = new CommonLoggingTraceListener(); l.DefaultTraceEventType = (TraceEventType)0xFFFF; AssertExpectedLogLevel(l, TraceEventType.Start, LogLevel.Trace); AssertExpectedLogLevel(l, TraceEventType.Stop, LogLevel.Trace); AssertExpectedLogLevel(l, TraceEventType.Suspend, LogLevel.Trace); AssertExpectedLogLevel(l, TraceEventType.Resume, LogLevel.Trace); AssertExpectedLogLevel(l, TraceEventType.Transfer, LogLevel.Trace); AssertExpectedLogLevel(l, TraceEventType.Verbose, LogLevel.Debug); AssertExpectedLogLevel(l, TraceEventType.Information, LogLevel.Info); AssertExpectedLogLevel(l, TraceEventType.Warning, LogLevel.Warn); AssertExpectedLogLevel(l, TraceEventType.Error, LogLevel.Error); AssertExpectedLogLevel(l, TraceEventType.Critical, LogLevel.Fatal); factoryAdapter.ClearLastEvent(); l.DefaultTraceEventType = TraceEventType.Warning; l.Write("some message", null); Assert.AreEqual(string.Format("{0}.{1}", l.Name, ""), factoryAdapter.LastEvent.Source.Name); Assert.AreEqual(LogLevel.Warn, factoryAdapter.LastEvent.Level); Assert.AreEqual("some message", factoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual(null, factoryAdapter.LastEvent.Exception); }
public void RedirectsToCommonLogging() { CapturingLoggerFactoryAdapter testLoggerFactoryAdapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = testLoggerFactoryAdapter; // force entlib logging init Logger.Write("init"); var listener =(CommonLoggingEntlibTraceListener) ((TraceListenerWrapper)EnterpriseLibraryContainer.Current.GetInstance<TraceListener>("Test Capturing Listener")).InnerTraceListener; // ensure external configuration didn't change // change to starts with because entlib now wraps all listeners and changes the name Assert.IsTrue(listener.Name.StartsWith("Test Capturing Listener")); LogEntry logEntry = new LogEntry(); logEntry.Categories.Add("mycategory"); logEntry.Message = "testmessage"; ILogFormatter formatter = listener.Formatter; string s = formatter.Format(logEntry); Assert.AreEqual("Category: mycategory, Message: testmessage", s); // note that output depends on the formatter configured for the entlib listener! Logger.Write("message1"); Assert.AreEqual("Category: General, Message: message1", testLoggerFactoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual(LogLevel.Info, testLoggerFactoryAdapter.LastEvent.Level); Logger.Write("message2", "custom category", -1, -1, TraceEventType.Warning); Assert.AreEqual("Category: custom category, Message: message2", testLoggerFactoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual("Test Capturing Listener/All Events", testLoggerFactoryAdapter.LastEvent.Source.Name); Assert.AreEqual(LogLevel.Warn, testLoggerFactoryAdapter.LastEvent.Level); }
public void LoggerCanChangeLogLevel() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger) adapter.GetLogger("test"); Assert.AreEqual(LogLevel.All, testLogger.CurrentLogLevel); testLogger.Trace("message1"); Assert.AreEqual(1, testLogger.LoggerEvents.Count); testLogger.CurrentLogLevel = LogLevel.Debug; testLogger.Trace("message2"); // not logged! Assert.AreEqual("message1", testLogger.LastEvent.MessageObject); }
private void AssertExpectedLogLevel(CommonLoggingTraceListener l, TraceEventType eventType, LogLevel expectedLogLevel) { CapturingLoggerFactoryAdapter factoryAdapter = (CapturingLoggerFactoryAdapter)LogManager.Adapter; factoryAdapter.Clear(); l.TraceEvent(null, "sourceName " + eventType, eventType, -1, "format {0}", eventType); Assert.AreEqual(string.Format("{0}.{1}", l.Name, "sourceName " + eventType), factoryAdapter.LastEvent.Source.Name); Assert.AreEqual(expectedLogLevel, factoryAdapter.LastEvent.Level); Assert.AreEqual("format " + eventType, factoryAdapter.LastEvent.RenderedMessage); Assert.AreEqual(null, factoryAdapter.LastEvent.Exception); }
public void LoggerCanChangeLogLevel() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger)adapter.GetLogger("test"); Assert.AreEqual(LogLevel.All, testLogger.CurrentLogLevel); testLogger.Trace("message1"); Assert.AreEqual(1, testLogger.LoggerEvents.Count); testLogger.CurrentLogLevel = LogLevel.Debug; testLogger.Trace("message2"); // not logged! Assert.AreEqual("message1", testLogger.LastEvent.MessageObject); }
public void DoesNotLogBelowFilterLevel() { CapturingLoggerFactoryAdapter factoryAdapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = factoryAdapter; CommonLoggingTraceListener l = new CommonLoggingTraceListener(); l.Filter = new EventTypeFilter(SourceLevels.Warning); factoryAdapter.ClearLastEvent(); l.TraceEvent(null, "sourceName", TraceEventType.Information, -1, "format {0}", "Information"); Assert.AreEqual(null, factoryAdapter.LastEvent); AssertExpectedLogLevel(l, TraceEventType.Warning, LogLevel.Warn); AssertExpectedLogLevel(l, TraceEventType.Error, LogLevel.Error); }
public void AdapterClearsEvents() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger) adapter.GetLogger("test"); testLogger.Trace("message1"); testLogger.Trace("message2"); Assert.IsNotNull(adapter.LastEvent); Assert.AreEqual(2, adapter.LoggerEvents.Count); adapter.ClearLastEvent(); Assert.IsNull(adapter.LastEvent); adapter.Clear(); Assert.IsNull(adapter.LastEvent); Assert.AreEqual(0, adapter.LoggerEvents.Count); }
public void AdapterClearsEvents() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger)adapter.GetLogger("test"); testLogger.Trace("message1"); testLogger.Trace("message2"); Assert.IsNotNull(adapter.LastEvent); Assert.AreEqual(2, adapter.LoggerEvents.Count); adapter.ClearLastEvent(); Assert.IsNull(adapter.LastEvent); adapter.Clear(); Assert.IsNull(adapter.LastEvent); Assert.AreEqual(0, adapter.LoggerEvents.Count); }
public void LoggerCapturesIndividualEvents() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger) adapter.GetLogger("test"); testLogger.Trace("message1"); testLogger.Trace("message2"); Assert.AreEqual(2, testLogger.LoggerEvents.Count); Assert.AreEqual("message2", testLogger.LastEvent.MessageObject); Assert.AreEqual("message1", testLogger.LoggerEvents[0].MessageObject); Assert.AreEqual("message2", testLogger.LoggerEvents[1].MessageObject); testLogger.ClearLastEvent(); Assert.IsNull(testLogger.LastEvent); testLogger.Clear(); Assert.IsNull(testLogger.LastEvent); Assert.AreEqual(0, testLogger.LoggerEvents.Count); }
public void AdapterCapturesAllEvents() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger) adapter.GetLogger("test"); CapturingLogger test2Logger = (CapturingLogger) adapter.GetLogger("test2"); testLogger.Trace("message1"); test2Logger.Trace("message2"); Assert.AreEqual(1, testLogger.LoggerEvents.Count); Assert.AreEqual("message1", testLogger.LastEvent.MessageObject); Assert.AreEqual(1, test2Logger.LoggerEvents.Count); Assert.AreEqual("message2", test2Logger.LastEvent.MessageObject); Assert.AreEqual(2, adapter.LoggerEvents.Count); Assert.AreEqual("message1", adapter.LoggerEvents[0].MessageObject); Assert.AreEqual(1, test2Logger.LoggerEvents.Count); Assert.AreEqual("message2", adapter.LoggerEvents[1].MessageObject); }
public void AdapterCapturesAllEvents() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger)adapter.GetLogger("test"); CapturingLogger test2Logger = (CapturingLogger)adapter.GetLogger("test2"); testLogger.Trace("message1"); test2Logger.Trace("message2"); Assert.AreEqual(1, testLogger.LoggerEvents.Count); Assert.AreEqual("message1", testLogger.LastEvent.MessageObject); Assert.AreEqual(1, test2Logger.LoggerEvents.Count); Assert.AreEqual("message2", test2Logger.LastEvent.MessageObject); Assert.AreEqual(2, adapter.LoggerEvents.Count); Assert.AreEqual("message1", adapter.LoggerEvents[0].MessageObject); Assert.AreEqual(1, test2Logger.LoggerEvents.Count); Assert.AreEqual("message2", adapter.LoggerEvents[1].MessageObject); }
public void LoggerCapturesIndividualEvents() { CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); CapturingLogger testLogger = (CapturingLogger)adapter.GetLogger("test"); testLogger.Trace("message1"); testLogger.Trace("message2"); Assert.AreEqual(2, testLogger.LoggerEvents.Count); Assert.AreEqual("message2", testLogger.LastEvent.MessageObject); Assert.AreEqual("message1", testLogger.LoggerEvents[0].MessageObject); Assert.AreEqual("message2", testLogger.LoggerEvents[1].MessageObject); testLogger.ClearLastEvent(); Assert.IsNull(testLogger.LastEvent); testLogger.Clear(); Assert.IsNull(testLogger.LastEvent); Assert.AreEqual(0, testLogger.LoggerEvents.Count); }
public void RoutesToCommonLogging() { // configure for capturing CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = adapter; var configuration = new LoggerConfiguration().ReadFrom.AppSettings().Enrich.WithProperty("Common.Logging.Type", typeof(CommonLoggingSerilogTests).FullName); var logger = configuration.CreateLogger(); var exception = new Exception(); adapter.ClearLastEvent(); var position = new { Latitude = 25, Longitude = 134 }; var elapsedMs = 34; logger.Error(exception, "Processed {@Position} in {Elapsed:000} ms.", position, elapsedMs); Assert.AreEqual(typeof(CommonLoggingSerilogTests).FullName, adapter.LastEvent.Source.Name); Assert.AreEqual("Processed { Latitude: 25, Longitude: 134 } in 034 ms.", adapter.LastEvent.RenderedMessage); Assert.AreSame(exception, adapter.LastEvent.Exception); }
public void RoutesToCommonLogging() { LoggingConfiguration cfg = new LoggingConfiguration(); CommonLoggingTarget target = new CommonLoggingTarget("${level:uppercase=true}|${logger}|${message}"); cfg.LoggingRules.Add(new LoggingRule("*", LogLevel.Trace, target)); NLogLogManager.Configuration = cfg; // configure for capturing CapturingLoggerFactoryAdapter adapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = adapter; string msg = "testmessage"; Exception ex = new Exception("testexception"); adapter.ClearLastEvent(); NLogLogManager.GetLogger("myLogger").DebugException(msg, ex); Assert.AreEqual("myLogger", adapter.LastEvent.Source.Name); Assert.AreEqual(string.Format("DEBUG|myLogger|{0}", msg), adapter.LastEvent.RenderedMessage); Assert.AreSame(ex, adapter.LastEvent.Exception); }
/// <summary> /// Create a new logger instance. /// </summary> public CapturingLogger(CapturingLoggerFactoryAdapter owner, string logName) : base(logName, LogLevel.All, true, true, true, null) { ArgUtils.AssertNotNull("owner", owner); Owner = owner; }
public RecieverFailure() { adapter = new CapturingLoggerFactoryAdapter(); LogManager.Adapter = adapter; }