コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LogEntry" /> class.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        public LogEntry(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            Time      = time;
            Log       = log;
            Message   = message;
            LogEvent  = logEvent;
            ExtraData = extraData;

            _logData = logData;
        }
コード例 #2
0
ファイル: LogListenerBase.cs プロジェクト: xubinvc/Catel
 /// <summary>
 /// Called when a <see cref="LogEvent.Status" /> message is written to the log.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="extraData">The additional data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 protected virtual void Status(ILog log, string message, object extraData, LogData logData, DateTime time)
 {
     // Empty by default
 }
コード例 #3
0
 public void InfoWithData(string message, LogData logData)
 {
     LogExtensions.InfoWithData(this, message, logData);
 }
コード例 #4
0
ファイル: LogListenerBase.cs プロジェクト: xubinvc/Catel
 /// <summary>
 /// Returns whether the log message should be ignored
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logEvent">The log event.</param>
 /// <param name="extraData">The extra data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 /// <returns><c>true</c> if the message should be ignored, <c>false</c> otherwise.</returns>
 protected virtual bool ShouldIgnoreLogMessage(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     return(false);
 }
コード例 #5
0
ファイル: LogListenerBase.cs プロジェクト: xubinvc/Catel
        /// <summary>
        /// Formats the log event to a message which can be written to a log persistence storage.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        /// <returns>The formatted log event.</returns>
        protected virtual string FormatLogEvent(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            var logMessage = string.Format("{0} => [{1}] [{2}] [{3}] {4}", time.ToString(_timeFormat), LogEventStrings[logEvent], log.Name, ThreadHelper.GetCurrentThreadId(), message);

            return(logMessage);
        }
コード例 #6
0
ファイル: EventLogListener.cs プロジェクト: shekky/Catel
        /// <summary>
        /// Formats the log event to a message which can be written to a log persistence storage.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        /// <returns>The formatted log event.</returns>
        protected override string FormatLogEvent(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            var logMessage = string.Format("[{0}] {1}", log.Name, message);

            return(logMessage);
        }
コード例 #7
0
ファイル: LogExtensions.error.cs プロジェクト: wqhenry/Catel
 /// <summary>
 /// Writes the specified message as error message with log data.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logData">The log data.</param>
 public static void ErrorWithData(this ILog log, string message, LogData logData)
 {
     log.WriteWithData(message, logData, LogEvent.Error);
 }
コード例 #8
0
ファイル: LogListenerBase.cs プロジェクト: xaecors/Catel
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        void ILogListener.Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            if (ShouldIgnoreLogging(log, message, logEvent, extraData, logData, time))
            {
                return;
            }

            Write(log, message, logEvent, extraData, logData, time);

            RaiseLogMessage(log, message, logEvent, extraData, logData, time);
        }
コード例 #9
0
ファイル: LogListenerBase.cs プロジェクト: xaecors/Catel
        private bool ShouldIgnoreLogging(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            if (IgnoreCatelLogging && log.IsCatelLoggingAndCanBeIgnored())
            {
                return(true);
            }

            if (ShouldIgnoreLogMessage(log, message, logEvent, extraData, logData, time))
            {
                return(true);
            }

            return(false);
        }
コード例 #10
0
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            base.Write(log, message, logEvent, extraData, time);

            var logEntry = new LogEntry(log, message, logEvent, extraData, null, time);

            AddLogEvent(_lastLogEntries, logEntry, MaximumNumberOfLogEntries);

            switch (logEvent)
            {
            case LogEvent.Warning:
                AddLogEvent(_lastWarningLogEntries, logEntry, MaximumNumberOfWarningLogEntries);
                break;

            case LogEvent.Error:
                AddLogEvent(_lastErrorLogEntries, logEntry, MaximumNumberOfErrorLogEntries);
                break;
            }
        }
コード例 #11
0
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            var logEntry = new LogBatchEntry(log, message, logEvent, extraData, logData, time);

            lock (_lock)
            {
                _logBatch.Add(logEntry);

                if (_logBatch.Count >= MaximumBatchCount)
                {
#pragma warning disable 4014
                    FlushAsync();
#pragma warning restore 4014
                }
            }
        }
コード例 #12
0
ファイル: ConsoleLogListener.cs プロジェクト: xaecors/Catel
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            string consoleMessage = FormatLogEvent(log, message, logEvent, extraData, logData, time);

#if NET || NETCORE || NETSTANDARD
            var oldConsoleBackgroundColor = Console.BackgroundColor;
            var oldConsoleForegroundColor = Console.ForegroundColor;

            UpdateConsoleColors(logEvent);
#endif

#if NETFX_CORE
            System.Diagnostics.Debug.WriteLine(consoleMessage);
#else
            Console.WriteLine(consoleMessage);
#endif

#if NET || NETCORE || NETSTANDARD
            Console.BackgroundColor = oldConsoleBackgroundColor;
            Console.ForegroundColor = oldConsoleForegroundColor;
#endif
        }
コード例 #13
0
 public void ErrorWithData(string message, LogData logData)
 {
     LogExtensions.ErrorWithData(this, message, logData);
 }
コード例 #14
0
 public void WarningWithData(string message, LogData logData)
 {
     LogExtensions.WarningWithData(this, message, logData);
 }
コード例 #15
0
ファイル: LogExtensions.debug.cs プロジェクト: wqhenry/Catel
 /// <summary>
 /// Writes the specified message as debug message with log data.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logData">The log data.</param>
 public static void DebugWithData(this ILog log, string message, LogData logData)
 {
     log.WriteWithData(message, logData, LogEvent.Debug);
 }
コード例 #16
0
ファイル: SeqLogListener.cs プロジェクト: ugurak/Catel
        /// <summary>
        /// Formats the log event to a message which can be written to a log persistence storage.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        /// <returns>The formatted log event.</returns>
        protected override string FormatLogEvent(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            var messageResult = _jsonLogFormatter.FormatLogEvent(log, message, logEvent, time);

            return(messageResult);
        }
コード例 #17
0
ファイル: LogExtensions.info.cs プロジェクト: wqhenry/Catel
 /// <summary>
 /// Writes the specified message as info message with log data.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logData">The log data.</param>
 public static void InfoWithData(this ILog log, string message, LogData logData)
 {
     log.WriteWithData(message, logData, LogEvent.Info);
 }
コード例 #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LogMessageEventArgs" /> class.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="extraData">The extra data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="logEvent">The log event.</param>
 public LogMessageEventArgs(ILog log, string message, object extraData, LogData logData, LogEvent logEvent)
     : this(log, message, extraData, logData, logEvent, DateTime.Now)
 {
 }
コード例 #19
0
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            var consoleMessage = FormatLogEvent(log, message, logEvent, extraData, logData, time);

            System.Diagnostics.Debug.WriteLine(consoleMessage);
        }
コード例 #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LogBatchEntry" /> class.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logEvent">The log event.</param>
 /// <param name="extraData">The extra data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 public LogBatchEntry(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
     : base(log, message, logEvent, extraData, logData, time)
 {
 }
コード例 #21
0
ファイル: LogListenerBase.cs プロジェクト: xubinvc/Catel
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        void ILogListener.Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            // If the log is a catel log and the AlwaysLog flag is set, skip additional checks and log the message.
            var catelLog = log as ICatelLog;

            if (catelLog == null || !catelLog.AlwaysLog)
            {
                if (IgnoreCatelLogging && log.IsCatelLogging)
                {
                    return;
                }

                if (ShouldIgnoreLogMessage(log, message, logEvent, extraData, logData, time))
                {
                    return;
                }
            }

            Write(log, message, logEvent, extraData, logData, time);

            RaiseLogMessage(log, message, logEvent, extraData, logData, time);
        }
コード例 #22
0
ファイル: EtwLogListener.cs プロジェクト: wqhenry/Catel
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, System.DateTime time)
        {
            base.Write(log, message, logEvent, extraData, time);

            switch (logEvent)
            {
            case LogEvent.Debug:
                _eventSource.Debug(message);
                break;

            case LogEvent.Info:
                _eventSource.Info(message);
                break;

            case LogEvent.Warning:
                _eventSource.Warning(message);
                break;

            case LogEvent.Error:
                _eventSource.Error(message);
                break;
            }
        }
コード例 #23
0
ファイル: LogListenerBase.cs プロジェクト: xubinvc/Catel
        /// <summary>
        /// Raises the <see cref="LogMessage" /> event.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected void RaiseLogMessage(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            var handler = LogMessage;

            if (handler != null)
            {
                handler(this, new LogMessageEventArgs(log, message, extraData, logData, logEvent, time));
            }
        }
コード例 #24
0
        /// <summary>
        /// Writes the specified log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The extra data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            var consoleMessage = FormatLogEvent(log, message, logEvent, extraData, logData, time);

            switch (logEvent)
            {
            case LogEvent.Debug:
                System.Diagnostics.Trace.WriteLine(consoleMessage);
                break;

            case LogEvent.Info:
                System.Diagnostics.Trace.TraceInformation(consoleMessage);
                break;

            case LogEvent.Warning:
                System.Diagnostics.Trace.TraceWarning(consoleMessage);
                break;

            case LogEvent.Error:
                System.Diagnostics.Trace.TraceError(consoleMessage);
                break;
            }
        }
コード例 #25
0
ファイル: LogListenerBase.cs プロジェクト: xubinvc/Catel
 /// <summary>
 /// Called when any message is written to the log.
 /// </summary>
 /// <param name="log">The log.</param>
 /// <param name="message">The message.</param>
 /// <param name="logEvent">The log event.</param>
 /// <param name="extraData">The additional data.</param>
 /// <param name="logData">The log data.</param>
 /// <param name="time">The time.</param>
 protected virtual void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
 {
     // Empty by default
 }
コード例 #26
0
ファイル: EtwLogListener.cs プロジェクト: szogun1987/Catel
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, System.DateTime time)
        {
            base.Write(log, message, logEvent, extraData, time);

            switch (logEvent)
            {
            case LogEvent.Debug:
                _eventSource.Debug(message);
                break;

            case LogEvent.Info:
                _eventSource.Info(message);
                break;

            case LogEvent.Warning:
                _eventSource.Warning(message);
                break;

            case LogEvent.Error:
                _eventSource.Error(message);
                break;

            default:
                throw new ArgumentOutOfRangeException("logEvent");
            }
        }
コード例 #27
0
        /// <summary>
        /// Called when any message is written to the log.
        /// </summary>
        /// <param name="log">The log.</param>
        /// <param name="message">The message.</param>
        /// <param name="logEvent">The log event.</param>
        /// <param name="extraData">The additional data.</param>
        /// <param name="logData">The log data.</param>
        /// <param name="time">The time.</param>
        protected override void Write(ILog log, string message, LogEvent logEvent, object extraData, LogData logData, DateTime time)
        {
            lock (_lock)
            {
                _logBatch.Add(new LogBatchEntry(log, message, logEvent, extraData, logData, time));

                if (_logBatch.Count >= MaximumBatchCount)
                {
                    // TODO: remove pragma in 5.0.0
#pragma warning disable 4014
                    Flush();
#pragma warning restore 4014
                }
            }
        }
コード例 #28
0
 public void DebugWithData(string message, LogData logData)
 {
     LogExtensions.DebugWithData(this, message, logData);
 }