示例#1
0
        public void Log(FinalLogData finalLogData)
        {
            ILog log = LogManager.GetLogger(finalLogData.FinalLogger);

            switch (finalLogData.FinalLevel)
            {
            case Level.TRACE:
                log.Trace(finalLogData.FinalMessage);
                break;

            case Level.DEBUG:
                log.Debug(finalLogData.FinalMessage);
                break;

            case Level.INFO:
                log.Info(finalLogData.FinalMessage);
                break;

            case Level.WARN:
                log.Warn(finalLogData.FinalMessage);
                break;

            case Level.ERROR:
                log.Error(finalLogData.FinalMessage);
                break;

            case Level.FATAL:
                log.Fatal(finalLogData.FinalMessage);
                break;

            default:
                throw new Exception(string.Format("Logger.Log - unknown level={0}", finalLogData.FinalLevel));
            }
        }
示例#2
0
        public void Log(FinalLogData finalLogData)
        {
            ILog log = LogManager.GetLogger(finalLogData.FinalLogger);

            switch (finalLogData.FinalLevel)
            {
                case Level.TRACE:
                    log.Trace(finalLogData.FinalMessage);
                    break;

                case Level.DEBUG:
                    log.Debug(finalLogData.FinalMessage);
                    break;

                case Level.INFO:
                    log.Info(finalLogData.FinalMessage);
                    break;

                case Level.WARN:
                    log.Warn(finalLogData.FinalMessage);
                    break;

                case Level.ERROR:
                    log.Error(finalLogData.FinalMessage);
                    break;

                case Level.FATAL:
                    log.Fatal(finalLogData.FinalMessage);
                    break;

                default:
                    throw new Exception(string.Format("Logger.Log - unknown level={0}", finalLogData.FinalLevel));
            }
        }
示例#3
0
        /// <summary>
        /// Processes a request with logging info. Unit testable.
        ///
        /// Returns log info in easily digestable format.
        /// </summary>
        /// <param name="json">JSON sent from client by AjaxAppender</param>
        /// <param name="serverSideTimeUtc">Current time in UTC</param>
        /// <param name="jsnlogConfiguration">Contains all config info</param>
        internal static List <FinalLogData> ProcessLogRequestExec(string json, LogRequestBase logRequestBase,
                                                                  DateTime serverSideTimeUtc, JsnlogConfiguration jsnlogConfiguration)
        {
            var          logDatas = new List <FinalLogData>();
            FinalLogData logData  = null;

            try
            {
                LogRequestData logRequestData = LogMessageHelpers.DeserializeJson <LogRequestData>(json);

                foreach (var logItem in logRequestData.lg)
                {
                    logData = null; // in case ProcessLogItem throws exception
                    logData = ProcessLogItem(logItem,
                                             logRequestBase, serverSideTimeUtc, jsnlogConfiguration);

                    if (logData != null)
                    {
                        logDatas.Add(logData);
                    }
                }
            }
            catch (Exception e)
            {
                try
                {
                    string message = string.Format("Exception: {0}, json: {1}, FinalLogData: {{{2}}}, logRequestBase: {{{3}}}", e, json, logData, logRequestBase);

                    var internalErrorFinalLogData = new FinalLogData(null)
                    {
                        FinalMessage = message,
                        FinalLogger  = Constants.JSNLogInternalErrorLoggerName,
                        FinalLevel   = Level.ERROR
                    };

                    logDatas.Add(internalErrorFinalLogData);
                }
                catch
                {
                }
            }

            return(logDatas);
        }
示例#4
0
        public LogData(FinalLogData finalLogData, DateTime serverUtc)
        {
            Message    = finalLogData.FinalMessage;
            LoggerName = finalLogData.FinalLogger;
            Level      = finalLogData.FinalLevel;
            LevelInt   = -1;

            if (finalLogData.LogRequest != null)
            {
                ClientLogMessage    = finalLogData.LogRequest.Message;
                ClientLogLevel      = int.Parse(finalLogData.LogRequest.Level);
                ClientLogLoggerName = finalLogData.LogRequest.Logger;
                ClientLogRequestId  = finalLogData.LogRequest.RequestId;
                LogDateUtc          = finalLogData.LogRequest.UtcDate;
                LogDateServerUtc    = serverUtc;
                LogDate             = Utils.UtcToLocalDateTime(finalLogData.LogRequest.UtcDate);
                LogDateServer       = Utils.UtcToLocalDateTime(serverUtc);
                UserAgent           = finalLogData.LogRequest.UserAgent;
                UserHostAddress     = finalLogData.LogRequest.UserHostAddress;
                LogRequestUrl       = finalLogData.LogRequest.Url;
            }
        }
示例#5
0
        public LogData(FinalLogData finalLogData, DateTime serverUtc)
        {
            Message = finalLogData.FinalMessage;
            LoggerName = finalLogData.FinalLogger;
            Level = finalLogData.FinalLevel;
            LevelInt = -1;

            if (finalLogData.LogRequest != null)
            {
                ClientLogMessage = finalLogData.LogRequest.Message;
                ClientLogLevel = int.Parse(finalLogData.LogRequest.Level);
                ClientLogLoggerName = finalLogData.LogRequest.Logger;
                ClientLogRequestId = finalLogData.LogRequest.RequestId;
                LogDateUtc = finalLogData.LogRequest.UtcDate;
                LogDateServerUtc = serverUtc;
                LogDate = Utils.UtcToLocalDateTime(finalLogData.LogRequest.UtcDate);
                LogDateServer = Utils.UtcToLocalDateTime(serverUtc);
                UserAgent = finalLogData.LogRequest.UserAgent;
                UserHostAddress = finalLogData.LogRequest.UserHostAddress;
                LogRequestUrl = finalLogData.LogRequest.Url;
            }
        }
 public void Log(FinalLogData finalLogData)
 {
     LogEntries.Add(new LogEntry(finalLogData.FinalLevel, finalLogData.FinalLogger, finalLogData.FinalMessage));
 }
示例#7
0
        /// <summary>
        /// Processes a request with logging info. Unit testable.
        /// 
        /// Returns log info in easily digestable format.
        /// </summary>
        /// <param name="json">JSON sent from client by AjaxAppender</param>
        /// <param name="serverSideTimeUtc">Current time in UTC</param>
        /// <param name="jsnlogConfiguration">Contains all config info</param>
        internal static List<FinalLogData> ProcessLogRequestExec(string json, LogRequestBase logRequestBase,
            DateTime serverSideTimeUtc, JsnlogConfiguration jsnlogConfiguration)
        {
            var logDatas = new List<FinalLogData>();
            FinalLogData logData = null;

            try
            {
                LogRequestData logRequestData = LogMessageHelpers.DeserializeJson<LogRequestData>(json);

                foreach (var logItem in logRequestData.lg)
                {
                    logData = null; // in case ProcessLogItem throws exception
                    logData = ProcessLogItem(logItem,
                        logRequestBase, serverSideTimeUtc, jsnlogConfiguration);

                    if (logData != null)
                    {
                        logDatas.Add(logData);
                    }
                }
            }
            catch (Exception e)
            {
                try
                {
                    string message = string.Format("Exception: {0}, json: {1}, FinalLogData: {{{2}}}, logRequestBase: {{{3}}}", e, json, logData, logRequestBase);

                    var internalErrorFinalLogData = new FinalLogData(null)
                    {
                        FinalMessage = message,
                        FinalLogger = Constants.JSNLogInternalErrorLoggerName,
                        FinalLevel = Level.ERROR
                    };

                    logDatas.Add(internalErrorFinalLogData);
                }
                catch
                {
                }
            }

            return logDatas;
        }
示例#8
0
 public void Log(FinalLogData finalLogData)
 {
     LogEntries.Add(new LogEntry(finalLogData.FinalLevel, finalLogData.FinalLogger, finalLogData.FinalMessage));
 }