public void HandleLog(string logString, string stackTrace, LogType type) { if (logString == null) { logString = "nullString"; } if (stackTrace == null) { stackTrace = "nullString"; } string logTypeString = type.ToString(); BTLoggerConfigEntry loggerConfigEntry; if (config != null && config.loggerConfig.ContainsKey(logTypeString)) { loggerConfigEntry = config.loggerConfig[logTypeString]; } else { loggerConfigEntry = new BTLoggerConfigEntry(); } if (!loggerConfigEntry.AnythingToLog()) { return; } if (config != null && config.logMessageFilter.Any(filter => Regex.IsMatch(logString, filter))) { return; } StringBuilder logBuilder = new StringBuilder(); logBuilder .Append("[") .Append(logTypeString) .Append("]\t[") .Append(DateTime.Now.ToString("T")) .Append("]"); if (loggerConfigEntry.logMessage) { logBuilder .Append("\n") .Append(logString); } if (loggerConfigEntry.logStackTrace) { System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(); logBuilder .Append("\n") .Append(trace.ToString()); } logBuilder.Append("\n"); using (StreamWriter writer = new StreamWriter((basePath + logFileName).Replace('/', Path.DirectorySeparatorChar), true)){ writer.WriteLine(logBuilder.ToString()); } }
private static void HandleLog(string logString, string stackTrace, LogType type) { if (string.IsNullOrWhiteSpace(logString)) { logString = "nullString"; } if (string.IsNullOrWhiteSpace(stackTrace)) { stackTrace = "nullString"; } string logTypeString = type.ToString(); BTLoggerConfigEntry loggerConfigEntry; if (config != null && config.loggerConfig.ContainsKey(logTypeString)) { loggerConfigEntry = config.loggerConfig[logTypeString]; } else { loggerConfigEntry = new BTLoggerConfigEntry(); } if (!loggerConfigEntry.AnythingToLog()) { return; } if (config != null && config.logMessageFilter.Any(filter => Regex.IsMatch(logString, filter))) { return; } var logBuilder = new StringBuilder(); logBuilder .Append("[") .Append(logTypeString) .Append("]\t[") .Append(DateTime.Now.ToString("T")) .Append("]"); if (loggerConfigEntry.logMessage) { logBuilder .Append("\n") .Append(logString); } if (loggerConfigEntry.logStackTrace) { logBuilder.Append("\nProvided Trace: ").Append(stackTrace); var trace = new StackTrace(); logBuilder.Append("\n").Append(trace); } logBuilder.Append("\n"); using (var writer = new StreamWriter(logFilePath.Replace('/', Path.DirectorySeparatorChar), true)) { writer.WriteLine(logBuilder.ToString()); } }