/// <summary> /// 创建具体文件类型日志的工厂方法。 /// </summary> /// <param name="metaLog">日志数据封送对象</param> private static void WriteLogFactory(MetaLog metaLog) { ILogAppender logAppender = null; if (metaLog.Storage == Storage.Txt) { logAppender = TextLogAppender.Instance; } else if (metaLog.Storage == Storage.Db) { logAppender = DBLogAppender.Instance; } //把日志记录到具体的存储介质中。 logAppender.Append(metaLog); }
public static void RegisterAppender(ILogAppender logAppender, bool fill) { Verify.Argument.IsNotNull(logAppender, "logAppender"); lock (_log) { _appenders.Add(logAppender); if (fill && _count != 0) { int end = (_start + _count) % _log.Length; for (int i = _start; i != end; i = (i + 1) % _log.Length) { logAppender.Append(_log[i]); } } } }
/// <summary> /// 记录日志的方法。 /// </summary> /// <param name="metaLog">日志数据封送对象</param> public void Write(MetaLog metaLog) { if (defaultLevel < metaLog.Level) { return; } ILogAppender logAppender = null; if (metaLog.Storage == Storage.Txt) { logAppender = TextLogAppender.Instance; } else if (metaLog.Storage == Storage.Db) { logAppender = DBLogAppender.Instance; } //把日志记录到具体的存储介质中。 logAppender.Append(metaLog); }
public void Log <TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter) { if (!IsEnabled(logLevel)) { return; } var cancellationToken = _appender.GetCancellationToken(); var entry = new LogEntry { LogLevel = logLevel, EventId = eventId.Id, EventName = eventId.Name, State = SerializeState(state), Exception = SerializeException(exception), Message = formatter(state, exception) }; _appender.Append(entry, cancellationToken); }
public static void RegisterAppender(ILogAppender logAppender, bool fill) { Verify.Argument.IsNotNull(logAppender, "logAppender"); lock(_log) { _appenders.Add(logAppender); if(fill && _count != 0) { int end = (_start + _count) % _log.Length; for(int i = _start; i != end; i = (i + 1) % _log.Length) { logAppender.Append(_log[i]); } } } }