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)); } }
/// <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); }
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)); }
/// <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; }