public void Log(LoggerTarget target, string message, bool clear = false) { switch (target) { case LoggerTarget.Console: if (Logger == null) { Logger = new ConsoleLogger(); } Logger.WriteLine(message); if (clear) { Logger.Clear(); } break; case LoggerTarget.Event: if (Logger == null) { Logger = new EventLogger(); } Logger.WriteLine(message); if (clear) { Logger.Clear(); } break; default: return; } }
public void LoggerFile_Test() { int bufferLimit = 3, loggersCount = 10000; LoggerTarget loggerFile = new LoggerTarget("E:\\Test_Logger_File.txt"); ILoggerTarget[] loggerTargets = new ILoggerTarget[] { loggerFile }; Logger logger = new Logger(bufferLimit, loggerTargets); for (int i = 0; i < loggersCount; i++) { logger.Log(new LoggerInformation(LogLevel.Info, "task" + (i + 1) + " start")); } logger.LoggerFlushControl(); loggerFile.CloseFile(); }
private static void WriteLog(LoggerEventType eventType, LoggerOptionsAttribute options, string message) { LoggerTarget targets = options.GetTargets(eventType); if (targets.HasFlag(LoggerTarget.Console)) { ConsoleColor originalColor = Console.ForegroundColor; try { Console.ForegroundColor = GetConsoleColor(eventType); Console.WriteLine(message); } finally { Console.ForegroundColor = originalColor; } } if (targets.HasFlag(LoggerTarget.EntLib)) { try { LogEntry entry = new LogEntry(); entry.Message = message; entry.Priority = 10 - (int)eventType; entry.Severity = GetTraceEventType(eventType); entry.EventId = -1; if (!String.IsNullOrEmpty(options.Category)) { entry.Categories.Add(options.Category); } EntLibLogger.Write(entry); } catch { } } if (targets.HasFlag(LoggerTarget.UlsLog)) { SPDiagnosticsCategory dCat = new SPDiagnosticsCategory(options.Category, GetTraceSeverity(eventType), GetEventSeverity(eventType)); SPDiagnosticsService.Local.WriteTrace(0, dCat, GetTraceSeverity(eventType), message); } if (targets.HasFlag(LoggerTarget.EventLog)) { if (!EventLog.SourceExists(options.Category)) { EventLog.CreateEventSource(options.Category, options.Category); while (!EventLog.SourceExists(options.Category)) { Thread.Sleep(100); } } EventLog.WriteEntry(options.Category, message, GetEventLogEntryType(eventType), 0); } }
public static void Log(string message, LoggerLevel level = LoggerLevel.INFO, LoggerTarget target = LoggerTarget.File) { message = string.Format("{0} {1}", GetLogMessage(level), message); switch (target) { case LoggerTarget.File: logger = new FileLogger(); logger.Level = level; logger.Log(message); break; case LoggerTarget.Database: logger = new DBLogger(); logger.Level = level; logger.Log(message); break; default: return; } }
public void LoggerFile_Test() { int bufferLimit = 3, loggersCount = 1000; int count = 0, i = 0; string[] allMessages = new string[1000]; LoggerTarget loggerFile = new LoggerTarget("E:\\Test_Logger_File.txt"); ILoggerTarget[] loggerTargets = new ILoggerTarget[] { loggerFile }; Logger logger = new Logger(bufferLimit, loggerTargets); for (i = 0; i < loggersCount; i++) { logger.Log(new LoggerInformation(LogLevel.Info, "task" + (i + 1))); } for (i = 0; i < loggersCount; i++) { allMessages[i] = LogLevel.Info + " task" + (i + 1); } logger.LoggerFlushControl(); loggerFile.CloseFile(); string[] fileText = File.ReadAllLines("E:\\Test_Logger_File.txt"); i = 0; foreach (string line in fileText) { if (line.EndsWith(allMessages[i])) { count++; } i++; } Assert.AreEqual(count, 1000); }
/// <summary> /// Creates an instance of the <see cref="LoggerOptionsAttribute"/> class with the specified category and logging targets. /// </summary> /// <param name="category"></param> /// <param name="options"></param> public LoggerOptionsAttribute(string category, LoggerTarget options) : this(options) { this.Category = category; }
/// <summary> /// Creates an instance of the <see cref="LoggerOptionsAttribute"/> class with the specified logging targets. /// </summary> /// <param name="options"></param> public LoggerOptionsAttribute(LoggerTarget options) { this.All = options; }