public void cross_agent_tests(TestCase testCase) { var logAppender = new log4net.Appender.MemoryAppender(); var logFilter = new log4net.Filter.LevelMatchFilter(); logFilter.LevelToMatch = log4net.Core.Level.Warn; logAppender.AddFilter(logFilter); var logger = (log4net.LogManager.GetRepository() as log4net.Repository.Hierarchy.Hierarchy).Root; logger.AddAppender(logAppender); logger.Level = log4net.Core.Level.Warn; logger.Repository.Configured = true; // arrange var configurationService = Mock.Create <IConfigurationService>(); Mock.Arrange(() => configurationService.Configuration.Labels).Returns(testCase.LabelConfigurationString); // act var labelsService = new LabelsService(configurationService); var actualResults = JsonConvert.SerializeObject(labelsService.Labels); var expectedResults = JsonConvert.SerializeObject(testCase.Expected); // assert Assert.AreEqual(expectedResults, actualResults); if (testCase.Warning) { Assert.AreNotEqual(0, logAppender.GetEvents().Length); } else { Assert.AreEqual(0, logAppender.GetEvents().Length); } }
private static void LogWatcher() { while (logWatching) { LoggingEvent[] events = logger.GetEvents(); if (events != null && events.Length > 0) { logger.Clear(); foreach (LoggingEvent ev in events) { //2018-10-27 12:46:53,954 [10] INFO Logger - 0 App_OnStartup //string line =ev.ToString(); //%d{yyyy-MM-dd HH:mm:ss,fff} %-5level [%c:%line] - %message%newline //%d [%t] %-5p %c - %m%n string line = string.Format("{0} [{1}] {2} {3} - {4} {5}", ev.TimeStamp, ev.ThreadName, ev.Level, ev.LoggerName, ev.MessageObject, ev.ExceptionObject); //string line = ev.LoggerName + ": " + ev.RenderedMessage + "\r\n"; if (NewLogEvent != null) { NewLogEvent(line); } } } Thread.Sleep(250); } }
/// <summary> /// 取日志 /// </summary> private void LogWatcher() { LoggerEvent[] ksevents = null; LoggingEvent[] events = null; while (logWatching) { lock (append) { events = append.GetEvents(); append.Clear(); } if (events != null && events.Length > 0) { ksevents = new LoggerEvent[events.Length]; for (int i = 0; i < events.Length; i++) { ksevents[i] = new LoggerEvent(); ksevents[i].Level = events[i].Level.Name; ksevents[i].messageObj = events[i].MessageObject; ksevents[i].TimeStamp = events[i].TimeStamp; } if (view != null) { this.view(ksevents); } } events = null; Thread.Sleep(this.sleep); } }
/// <summary> /// 监听log4net事件 /// </summary> private void LogWatcher() { while (logWatching) { try { LoggingEvent[] events = logger.GetEvents(); if (events != null && events.Length > 0) { logger.Clear(); foreach (LoggingEvent ev in events) { string line = ev.LoggerName + ": " + ev.RenderedMessage + Environment.NewLine; AppendLog(line); } } } catch (Exception ex) { log.Error(ex.Message); } } }
private static void LogWatcher() { while (logWatching) { LoggingEvent[] events = logger.GetEvents(); if (events != null && events.Length > 0) { logger.Clear(); foreach (LoggingEvent ev in events) { //2018-10-27 12:46:53,954 [10] INFO Logger - 0 App_OnStartup //string line =ev.ToString(); //%d{yyyy-MM-dd HH:mm:ss,fff} %-5level [%c:%line] - %message%newline //%d [%t] %-5p %c - %m%n string line = string.Format("{0} [{1}] {2} {3} - {4} {5}", ev.TimeStamp.ToString("yyyy-MM-dd HH:mm:ss,fff"), ev.ThreadName, ev.Level, ev.LoggerName, ev.MessageObject, ev.ExceptionObject); //string line = ev.LoggerName + ": " + ev.RenderedMessage + "\r\n"; string tag = "[None]"; string msg = (ev.MessageObject + ""); int index = msg.IndexOf('|'); if (index > 0) { tag = msg.Substring(0, index); } if (NewLogEvent != null) { LogInfo info = new LogInfo(); info.Tag = tag; info.Log = line; NewLogEvent(info); } } } Thread.Sleep(250); } }
private void LogWatcher() { while (logWatching) { try { LoggingEvent[] events = logger.GetEvents(); if (events != null && events.Length > 0) { logger.Clear(); foreach (LoggingEvent ev in events) { string line = ev.TimeStamp.ToString(" yyyy-MM-dd HH:mm:ss.fff") + " [" + ev.Level + "] " + ev.RenderedMessage + "\r\n";//定义日志格式 AppendLog(line); } } Thread.Sleep(500); } catch (Exception ex) { log.Error(ex.Message); } } }
public override string ToString() { var builder = new StringBuilder(); var logEvents = MemoryAppender.GetEvents(); if (logEvents == null) { return("Nothing was logged."); } foreach (var logEvent in logEvents) { if (logEvent == null) { continue; } builder.AppendLine(logEvent.RenderedMessage); } return(builder.ToString()); }