コード例 #1
0
        public void Log(LogEntryLevel logEntryLevel, Exception exception, LogEntryContextDictionary logEntryContext)
        {
            Contract.Requires(exception != null);
            Contract.Requires(logEntryContext != null);
            Contract.Requires(logEntryContext.Any());

            throw new NotImplementedException();
        }
コード例 #2
0
        public void Log(LogEntryLevel logEntryLevel, string message, LogEntryContextDictionary logEntryContext)
        {
            Contract.Requires(message != null);
            Contract.Requires(logEntryContext != null);
            Contract.Requires(logEntryContext.Any());

            throw new NotImplementedException();
        }
コード例 #3
0
        private void WriteLogEntry(LogEntryLevel logEntryLevel, string message, Exception exception, LogEntryContextDictionary logEntryContext)
        {
            var logger = logEntryContext == null
                             ? _logger
                             : logEntryContext.Aggregate(_logger, (current, kvp) => current.ForContext(kvp.Key, kvp.Value));

            Contract.Assume(logger != null);

            if (exception == null)
            {
                switch (logEntryLevel)
                {
                case LogEntryLevel.Verbose:
                    logger.Verbose(Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Debug:
                    logger.Debug(Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Information:
                    logger.Information(Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Warning:
                    logger.Warning(Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Error:
                    logger.Error(Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Fatal:
                    logger.Fatal(Template, DateTime.Now, logEntryLevel, message);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("logEntryLevel");
                }
            }
            else
            {
                switch (logEntryLevel)
                {
                case LogEntryLevel.Verbose:
                    logger.Verbose(exception, Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Debug:
                    logger.Debug(exception, Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Information:
                    logger.Information(exception, Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Warning:
                    logger.Warning(exception, Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Error:
                    logger.Error(exception, Template, DateTime.Now, logEntryLevel, message);
                    break;

                case LogEntryLevel.Fatal:
                    logger.Fatal(exception, Template, DateTime.Now, logEntryLevel, message);
                    break;

                default:
                    throw new ArgumentOutOfRangeException("logEntryLevel");
                }
            }
        }
コード例 #4
0
 public void Log(LogEntryLevel logEntryLevel, Exception exception, LogEntryContextDictionary logEntryContext)
 {
     WriteLogEntry(logEntryLevel, string.Empty, exception, logEntryContext);
 }
コード例 #5
0
 public void Log(LogEntryLevel logEntryLevel, string message, Exception exception, LogEntryContextDictionary logEntryContext)
 {
     WriteLogEntry(logEntryLevel, message, exception, logEntryContext);
 }
コード例 #6
0
 public void Log(LogEntryLevel logEntryLevel, string message, LogEntryContextDictionary logEntryContext)
 {
     WriteLogEntry(logEntryLevel, message, null, logEntryContext);
 }