public void WriteLine() { var lineInfo = new LogLineInfo { Depth = contexts.Count }; if (IncludeCallingMethod) { var trace = new StackTrace(); for (int i = 0; i < trace.FrameCount; i++) { var method = trace.GetFrame(i).GetMethod(); if (method.DeclaringType != typeof(Logger)) { lineInfo.CallingClass = method.DeclaringType.Name; lineInfo.CallingMethod = (method.IsConstructor ? lineInfo.CallingClass : method.Name); break; } } } lineInfo.Message = ""; foreach (var ep in endpoints) { ep.LogLine(lineInfo); } }
public void WriteLine(string message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } var lineInfo = new LogLineInfo { Depth = contexts.Count }; if (IncludeCallingMethod) { var trace = new StackTrace(); for (int i = 0; i < trace.FrameCount; i++) { var method = trace.GetFrame(i).GetMethod(); if (method.DeclaringType != typeof(Logger)) { lineInfo.CallingClass = method.DeclaringType.Name; lineInfo.CallingMethod = (method.IsConstructor ? lineInfo.CallingClass : method.Name); break; } } } var lines = message.Split(crlf, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { lineInfo.Message = line; foreach (var ep in endpoints) { ep.LogLine(lineInfo); } } }