public void Log(AldursLab.WurmApi.LogLevel level, string message, object source, Exception exception) { var nlogLevel = Convert(level); if (logger.IsEnabled(nlogLevel)) { string prefix = string.Empty; if (source != null) { var stringSource = source as string; if (!string.IsNullOrEmpty(stringSource)) { prefix += "." + stringSource; } else { prefix += source.GetType().Name; } } message = "WurmApi > " + prefix + ": " + message; logger.Log(nlogLevel, exception, message); logMessageDump.HandleEvent(nlogLevel, message, exception, category); } }
/// <summary> /// Записывает в журнал сообщение /// </summary> /// <param name="type">Тип журнала</param> /// <param name="level">Уровень сообщения</param> /// <param name="message">Сообщение</param> /// <param name="parameters">Параметры формирования сообщения</param> private static void Log(LogType type, NLog.LogLevel level, string message, params object[] parameters) { try { NLog.Logger logger = GetLogger(type); if (logger == null) { return; } if (logger.IsEnabled(level)) { string msg = parameters.Length > 0 ? string.Format(message, parameters) : message; logger.Log(level, msg); } } catch (Exception le) { if (type != LogType.System) { Logger.LogException(LogType.System, LogLevel.Error, le, "Ошибка при записи в журнал {0}", type); } throw; } }
/// <summary> /// Записать в лог /// </summary> /// <param name="logEntry">Запись</param> /// <returns>Получилось ли записать</returns> public bool Log(LogEntry logEntry) { if (_logger == null) { return(false); } var nlogEntry = new NLogInternal.LogEventInfo { LoggerName = Name }; switch (logEntry.Level) { case (ErrorLevel.None): nlogEntry.Level = NLogInternal.LogLevel.Off; break; case (ErrorLevel.Trace): nlogEntry.Level = NLogInternal.LogLevel.Trace; break; case (ErrorLevel.Debug): nlogEntry.Level = NLogInternal.LogLevel.Debug; break; case (ErrorLevel.Info): nlogEntry.Level = NLogInternal.LogLevel.Info; break; case (ErrorLevel.Warning): nlogEntry.Level = NLogInternal.LogLevel.Warn; break; case (ErrorLevel.Error): nlogEntry.Level = NLogInternal.LogLevel.Error; break; case (ErrorLevel.Fatal): nlogEntry.Level = NLogInternal.LogLevel.Fatal; break; } nlogEntry.Message = logEntry.Message; nlogEntry.TimeStamp = logEntry.TimeStamp; if (logEntry.Exception != null) { nlogEntry.Exception = logEntry.Exception; } if ((logEntry.Data != null) && (logEntry.Data.Count > 0)) { foreach (var prop in logEntry.Data) { nlogEntry.Properties.Add(prop.Key, prop.Value); } } try { if (!_logger.IsEnabled(nlogEntry.Level)) { return(false); } _logger.Log(nlogEntry); return(true); } catch (IndexOutOfRangeException) { // возникает при Level = Off return(false); } }
/// <summary> /// Log delegate for redirecting Solace .NET API logs to the wrapper's /// logging abstraction. /// </summary> /// <param name="solLogInfo">The Solace API log info containing the level, /// exception, and message.</param> private void OnSolaceApiLog(SolLogInfo solLogInfo) { var logLevel = GetLogLevel(solLogInfo.LogLevel); if (logger.IsEnabled(logLevel)) { logger.Log(logLevel, solLogInfo.LogException, solLogInfo.LogMessage); } }
/// <summary> /// Записывает в журнал сообщение об исключении /// </summary> /// <param name="type">Тип журнала</param> /// <param name="level">Уровень сообщения</param> /// <param name="exception">Исключение</param> /// <param name="message">Сообщение</param> /// <param name="parameters">Параметры формирования сообщения</param> private static void LogException(LogType type, NLog.LogLevel level, Exception exception, string message, params object[] parameters) { NLog.Logger logger = GetLogger(type); if (logger == null) { return; } if (logger.IsEnabled(level)) { string msg = parameters.Length > 0 ? string.Format(message, parameters) : message; logger.LogException(level, msg, exception); } }
private static void Log(LogLevel logLevel, string message, string loggerName, Exception ex) { if (!Logger.IsEnabled(logLevel)) { return; } var eventInfo = new LogEventInfo { Message = message, Level = logLevel, LoggerName = loggerName, Exception = ex, }; eventInfo.Properties.Add("FullStackTrace", ex.ToString()); Logger.Log(eventInfo); }
/// <summary> /// Logs the specified format. /// </summary> /// <param name="level">The logging level.</param> /// <param name="format">The format.</param> /// <param name="args">The arguments. If an object instance is part of the list, it will be JSON-serialized</param> public virtual void Log(LoggingLevel level, string format, params object[] args) { var loglevel = GetLogLevel(level); if (!_logger.IsEnabled(loglevel)) { return; } if (!string.IsNullOrWhiteSpace(format)) { if (args != null && args.Length > 0) { for (int i = args.Length - 1; i >= 0; i--) { if (args[i] != null) { if (args[i].GetType().IsPrimitiveType()) { continue; } try { args[i] = JsonConvert.SerializeObject(args[i]); } catch { } } } } _logger.Log(loglevel, format, args); if (_logToDb) { new LogLogic().InsertLog(_logger.Name, HttpContext.Current, level, string.Format(format, args)); } } }
/// <summary> /// Включено ли логгирование? /// </summary> /// <param name="level">Уровень.</param> /// <returns>Статус.</returns> public bool IsEnabled(int level) { return(_logger.IsEnabled(LogLevel.FromOrdinal(level))); }
public bool IsEnabled(LogLevel level) { return(_logger.IsEnabled(ToNLogLevel(level))); }
/// <summary> /// Checks if the given logging level is enabled. /// </summary> /// <param name="LogLevel">Level to be checked.</param> /// <returns>true if the logging level is enabled, false otherwise.</returns> public bool IsEnabled(NLog.LogLevel LogLevel) { return(log.IsEnabled(LogLevel)); }
public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel) { return(logger.IsEnabled(Logger.GetNLogLevel(logLevel))); }
public bool IsEnabled(LogLevel logLevel) { return(_logger.IsEnabled(logLevel)); }
bool ILogger.IsEnabled(string level) { return(_logger.IsEnabled(StringToLevel(level))); }
/// <summary> /// 检查给定日志级别是否启用 /// </summary> /// <param name="level">日志级别</param> public bool IsEnabled(LogLevel level) => _logger.IsEnabled(GetLevel(level));
/// <summary> /// Is logging enabled for this logger at this <paramref name="logLevel"/>? /// </summary> private bool IsEnabled(_NLog.LogLevel logLevel) { return(_logger.IsEnabled(logLevel)); }
/// <summary> /// 是否启用指定级别的日志 /// </summary> /// <param name="level"></param> /// <returns></returns> public virtual bool IsEnabled(LogLevel level) { return(logger.IsEnabled(level)); }