private LogMessage CreateMesage(LogLevel level, string message, ExtendedTraceData traceData)
        {
            var logMessage = new LogMessage
            {
                Level           = level,
                OriginalMessage = message
            };

            if (traceData != null)
            {
                logMessage.LoggerName = traceData.LoggerName;
                logMessage.Exception  = traceData.Error;
                logMessage.Properties = traceData.Properties;
                logMessage.CreatedAt  = traceData.TimeStamp;
            }
            else
            {
                logMessage.CreatedAt = LogCastContext.PreciseNow;
            }

            if (_layout != null)
            {
                logMessage.RenderedMessage = _layout.Render(message, logMessage.LoggerName, logMessage.Level, logMessage.CreatedAt);
            }

            return(logMessage);
        }
 internal void Write(TraceEventType eventType, string message, ExtendedTraceData traceData)
 {
     try
     {
         var logMessage = CreateMesage(TraceHelper.TranslateEventType(eventType), message, traceData);
         _messageRouter.DispatchMessage(logMessage);
     }
     catch (Exception ex)
     {
         FallbackLogger.Write(ex, $"Failed to dispatch a message. Original message: {message}");
     }
 }
示例#3
0
 private void TraceInternal(TraceEventType eventType, string message, ExtendedTraceData data)
 {
     Worker.Write(eventType, message, data);
 }