Пример #1
0
        private static LogEventInfo GenericToSpecific(GenericLogEventInfo logEvent)
        {
            var logEventInfo = new LogEventInfo(LogLevel.FromOrdinal((int)logEvent.LogLevel), logEvent.MessageType, logEvent.Message);

            if (logEvent.Exception != null)
            {
                logEventInfo.Exception = logEvent.Exception;
            }

            logEventInfo.Properties["internalLog"] = AggregatePushLogItems(logEvent.PushLog);
            logEventInfo.Properties["data"]        = logEvent.Data;
            foreach (var property in logEvent.ExtraProperties)
            {
                logEventInfo.Properties[property.Key] = property.Value;
            }

            return(logEventInfo);
        }
Пример #2
0
        public void Log(string loggerName, GenericLogEventInfo logEvent)
        {
            var logger = Serilog.Log.Logger.ForContext("loggerName", loggerName)
                         .ForContext("data", logEvent.Data)
                         .ForContext("internalLog", AggregatePushLogItems(logEvent.PushLog))
                         .ForContext("messageType", logEvent.MessageType);

            try{
                foreach (var extraProperty in logEvent.ExtraProperties)
                {
                    logger = logger.ForContext(extraProperty.Key, extraProperty.Value);
                }
            }
            catch (Exception ex) {
                Debug.Assert(true, "Serilog Agent Context Generation Threw Exception", ex.Message);
            }

            logger.Write(GenericToSpecificLogLevel(logEvent.LogLevel), logEvent.Exception, logEvent.Message);
        }
Пример #3
0
 public void Log(string loggerName, GenericLogEventInfo logEvent)
 {
     LogManager.GetLogger(loggerName).Log(GenericToSpecific(logEvent));
 }