Пример #1
0
        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);
            }
        }
Пример #2
0
            /// <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;
                }
            }
Пример #3
0
        /// <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);
            }
        }
Пример #5
0
            /// <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);
                }
            }
Пример #6
0
        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);
        }
Пример #7
0
        /// <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));
                }
            }
        }
Пример #8
0
 /// <summary>
 /// Включено ли логгирование?
 /// </summary>
 /// <param name="level">Уровень.</param>
 /// <returns>Статус.</returns>
 public bool IsEnabled(int level)
 {
     return(_logger.IsEnabled(LogLevel.FromOrdinal(level)));
 }
Пример #9
0
 public bool IsEnabled(LogLevel level)
 {
     return(_logger.IsEnabled(ToNLogLevel(level)));
 }
Пример #10
0
 /// <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));
 }
Пример #11
0
 public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel)
 {
     return(logger.IsEnabled(Logger.GetNLogLevel(logLevel)));
 }
Пример #12
0
 public bool IsEnabled(LogLevel logLevel)
 {
     return(_logger.IsEnabled(logLevel));
 }
Пример #13
0
 bool ILogger.IsEnabled(string level)
 {
     return(_logger.IsEnabled(StringToLevel(level)));
 }
Пример #14
0
 /// <summary>
 /// 检查给定日志级别是否启用
 /// </summary>
 /// <param name="level">日志级别</param>
 public bool IsEnabled(LogLevel level) => _logger.IsEnabled(GetLevel(level));
Пример #15
0
 /// <summary>
 /// Is logging enabled for this logger at this <paramref name="logLevel"/>?
 /// </summary>
 private bool IsEnabled(_NLog.LogLevel logLevel)
 {
     return(_logger.IsEnabled(logLevel));
 }
Пример #16
0
 /// <summary>
 /// 是否启用指定级别的日志
 /// </summary>
 /// <param name="level"></param>
 /// <returns></returns>
 public virtual bool IsEnabled(LogLevel level)
 {
     return(logger.IsEnabled(level));
 }