Beispiel #1
0
        /// <summary>
        /// Creates log entry and appends to log where it is necessary
        /// </summary>
        /// <param name="entry"></param>
        /// <param name="level"></param>
        protected void WriteLog(string entry, LogEntryLevel level)
        {
            string indent = string.Empty;

            switch (level)
            {
            case LogEntryLevel.Step:
                indent = "   ";
                break;

            case LogEntryLevel.StepDetails:
                indent = "      ";
                break;
            }

            string offset = Environment.NewLine + indent;
            string line   = string.Format("{0}{1}", indent, entry.Replace(Environment.NewLine, offset));

            _plainTextLog.AppendLine(line);
            if (level == LogEntryLevel.Test || level == LogEntryLevel.Step)
            {
                _shortTestLog.AppendLine(line);
            }

            DisplayLogLine(line);
        }
        /// <summary>
        /// Creates log entry and appends to log where it is necessary
        /// </summary>
        /// <param name="entry"></param>
        /// <param name="level"></param>
        void WriteLog(string entry, LogEntryLevel level)
        {
            string indent = string.Empty;

            switch (level)
            {
            case LogEntryLevel.Step:
                indent = "   ";
                break;

            case LogEntryLevel.StepDetails:
                indent = "      ";
                break;
            }

            string offset = Environment.NewLine + indent;
            string line   = string.Format("{0}{1}", indent, entry.Replace(Environment.NewLine, offset));

            _plainTextLog.AppendLine(line);
            if (level == LogEntryLevel.Test || level == LogEntryLevel.Step)
            {
                _shortTestLog.AppendLine(line);
            }

            // add every warning in warning's log
            if (entry.ToLower().Contains("warning:"))
            {
                _warningsLog.Add(line);
            }

            DisplayLogLine(line);
        }
        public void Log(LogEntryLevel logEntryLevel, string message, Exception exception)
        {
            Contract.Requires(message != null);
            Contract.Requires(exception != null);

            throw new NotImplementedException();
        }
Beispiel #4
0
        private static TemporaryConsoleColor SetConsoleColor(LogEntryLevel logEntryLevel)
        {
            switch (logEntryLevel)
            {
            case LogEntryLevel.Verbose:
                return(new TemporaryConsoleColor(ConsoleColor.Gray));

            case LogEntryLevel.Debug:
                return(new TemporaryConsoleColor(ConsoleColor.White));

            case LogEntryLevel.Information:
                return(new TemporaryConsoleColor(ConsoleColor.Green));

            case LogEntryLevel.Warning:
                return(new TemporaryConsoleColor(ConsoleColor.Yellow));

            case LogEntryLevel.Error:
                return(new TemporaryConsoleColor(ConsoleColor.Red));

            case LogEntryLevel.Fatal:
                return(new TemporaryConsoleColor(ConsoleColor.DarkRed));

            default:
                throw new ArgumentOutOfRangeException("logEntryLevel");
            }
        }
 public ConsoleLogger(LogEntryLevel minLevel)
 {
     _filters = new Func <LogEntry, bool>[]
     {
         e => e.Level >= (int)minLevel
     };
 }
Beispiel #6
0
        public static LogEventLevel ToLogEventLevel(this LogEntryLevel entryLevel)
        {
            switch (entryLevel)
            {
            case LogEntryLevel.Verbose:
                return(LogEventLevel.Verbose);

            case LogEntryLevel.Debug:
                return(LogEventLevel.Debug);

            case LogEntryLevel.Information:
                return(LogEventLevel.Information);

            case LogEntryLevel.Warning:
                return(LogEventLevel.Warning);

            case LogEntryLevel.Error:
                return(LogEventLevel.Error);

            case LogEntryLevel.Fatal:
                return(LogEventLevel.Fatal);

            default:
                throw new ArgumentOutOfRangeException("entryLevel");
            }
        }
        public void Log(LogEntryLevel logEntryLevel, Exception exception, LogEntryContextDictionary logEntryContext)
        {
            Contract.Requires(exception != null);
            Contract.Requires(logEntryContext != null);
            Contract.Requires(logEntryContext.Any());

            throw new NotImplementedException();
        }
        public void Log(LogEntryLevel logEntryLevel, string message, LogEntryContextDictionary logEntryContext)
        {
            Contract.Requires(message != null);
            Contract.Requires(logEntryContext != null);
            Contract.Requires(logEntryContext.Any());

            throw new NotImplementedException();
        }
Beispiel #9
0
 /// <summary>
 /// Инициализует новый объект класса <see cref="LogEntry" />.
 /// </summary>
 /// <param name="date">Дата события.</param>
 /// <param name="entryLevel">Уровень события.</param>
 /// <param name="sourceId">Источник события.</param>
 /// <param name="loggerName">Имя логгера события.</param>
 /// <param name="message">Содержание события.</param>
 /// <exception cref="ArgumentException">Аргумент <paramref name="sourceId" /> не может быть пустым, равным null, содержать только пробелы.</exception>
 /// <exception cref="ArgumentException">Аргумент <paramref name="date" /> не может быть пустым, равным null, содержать только пробелы.</exception>
 /// <exception cref="ArgumentException">Аргумент <paramref name="loggerName" /> не может быть пустым, равным null, содержать только пробелы.</exception>
 public LogEntry(DateTime date, LogEntryLevel entryLevel, Guid sourceId, string loggerName, string message)
 {
     Date       = date;
     EntryLevel = entryLevel;
     SourceId   = sourceId;
     LoggerName = loggerName;
     Message    = message;
 }
Beispiel #10
0
 public LogEntry(string message, LogEntryLevel level)
 {
     this.Message     = message;
     this.Level       = level;
     this.TimeStamp   = DateTime.Now;
     this.id          = Guid.NewGuid();
     this.ProductName = Properties.Settings.Default.DefaultProductName;
 }
Beispiel #11
0
 /// <summary>
 /// <see cref="LogEntryLevel"/> to <see cref="LogEventLevel"/>
 /// </summary>
 /// <param name="level"><see cref="LogEntryLevel"/> level</param>
 /// <returns><see cref="LogEventLevel"/> level</returns>
 public static LogEventLevel ToLogEventLevel(this LogEntryLevel level)
 {
     return(level switch
     {
         LogEntryLevel.Information => LogEventLevel.Information,
         LogEntryLevel.Warning => LogEventLevel.Warning,
         LogEntryLevel.Error => LogEventLevel.Error,
         LogEntryLevel.CriticalError => LogEventLevel.Fatal,
         _ => LogEventLevel.Verbose
     });
Beispiel #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FileLogger"/> class.
        /// </summary>
        /// <param name="path">The path of the file to create, including the file name.</param>
        public EventViewerLogger(LogEntryLevel level = LogEntryLevel.Information, string sourceName = "Rosetta")
        {
            if (sourceName == null)
            {
                throw new ArgumentNullException(nameof(sourceName));
            }

            this.sourceName = sourceName;
            this.level      = level;
        }
Beispiel #13
0
        private void Log(LogEntryLevel logEntryLevel, Action action)
        {
            Contract.Requires(action != null);

            lock (ConsoleLock)
            {
                using (SetConsoleColor(logEntryLevel))
                {
                    action();
                }
            }
        }
Beispiel #14
0
 public LogEntry(string message, LogEntryLevel level, System.Exception exception, params LogEntryAttribute[] logEntries)
 {
     Message = message;
     Level   = level;
     if (exception != null)
     {
         ExceptionText = String.Format("{0}\n\n\t {1}", exception.ToString(), exception.StackTrace);
     }
     if (logEntries != null)
     {
         Attributes = logEntries.ToList <LogEntryAttribute>();
     }
 }
Beispiel #15
0
        private static EventLogEntryType MapToEventViewerEventType(LogEntryLevel level)
        {
            switch (level)
            {
            case LogEntryLevel.Error: return(EventLogEntryType.Error);

            case LogEntryLevel.Information: return(EventLogEntryType.Information);

            case LogEntryLevel.Warning: return(EventLogEntryType.Warning);
            }

            return(EventLogEntryType.Information);
        }
        public LogEntryLevelManager(ISessionManager sessionManager,
                                    IIdentityManager identityManager,
                                    LogEntryLevel applicationLogEntryLevel)
        {
            Contract.Requires(sessionManager != null);
            Contract.Requires(identityManager != null);

            _sessionManager = sessionManager;
            _sessionManager.SessionRemoved += SessionRemoved;

            _identityManager = identityManager;

            SetLogEntryLevel(LogLevel.Application, applicationLogEntryLevel);
        }
Beispiel #17
0
        public IEnumerable<Log> GetLogs(LogEntryLevel level, DateTime? fromDate = null, DateTime? toDate = null, int page = 1, int pageSize = 25)
        {
            var query = Database.Logs;

            if (level != LogEntryLevel.All)
                query.Where(x => x.Level == level);

            if (fromDate.HasValue)
                query.Where(x => x.DateTime >= fromDate.Value);

            if (toDate.HasValue)
                query.Where(x => x.DateTime <= toDate.Value);

            return query.Paged<Log>(page, pageSize);
        }
        public void SetLogEntryLevel(LogLevel logLevel, LogEntryLevel logEntryLevel)
        {
            switch (logLevel)
            {
            case LogLevel.Application:
                _applicationSwitch.MinimumLevel = logEntryLevel.ToLogEventLevel();
                break;

            case LogLevel.Session:
                throw new InvalidOperationException("Use SetLogEntryLevel(LogLevel, LogEntryLevel, String) instead");

            case LogLevel.User:
                throw new InvalidOperationException("Use SetLogEntryLevel(LogLevel, LogEntryLevel, String) instead");

            default:
                throw new ArgumentOutOfRangeException("logLevel");
            }
        }
        public void SetLogEntryLevel(LogLevel logLevel, LogEntryLevel logEntryLevel, string context)
        {
            switch (logLevel)
            {
            case LogLevel.Application:
                throw new InvalidOperationException("Use SetLogEntryLevel(LogLevel, LogEntryLevel) instead");

            case LogLevel.Session:
                SetLogEntryLevel(_sessionLogSwitches, logEntryLevel.ToLogEventLevel(), context);
                break;

            case LogLevel.User:
                SetLogEntryLevel(_userLogSwitches, logEntryLevel.ToLogEventLevel(), context);
                break;

            default:
                throw new ArgumentOutOfRangeException("logLevel");
            }
        }
Beispiel #20
0
        private static void Log(string message, LogEntryLevel level, long subscriptionId, IDatabaseContext context = null)
        {
            var log = new Log
            {
                SubscriptionId = subscriptionId,
                Message = message,
                Level = level
            };

            if (context != null)
            {
                Log(log, context);
            }
            else
            {
                using (var newContext = new DatabaseContext())
                {
                    Log(log, newContext);
                }
            }
        }
Beispiel #21
0
        private static void Log(Exception exception, LogEntryLevel level, long subscriptionId, IDatabaseContext context = null)
        {
            var log = new Log
            {
                SubscriptionId = subscriptionId,
                Message = exception.Message,
                Level = level,
                Source = exception.Source,
                StackTrace = exception.StackTrace
            };

            if (context != null)
            {
                Log(log, context);
            }
            else
            {
                using (var newContext = new DatabaseContext())
                {
                    Log(log, newContext);
                }
            }
        }
        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");
                }
            }
        }
 public void Log(LogEntryLevel logEntryLevel, Exception exception, LogEntryContextDictionary logEntryContext)
 {
     WriteLogEntry(logEntryLevel, string.Empty, exception, logEntryContext);
 }
 public void Log(LogEntryLevel logEntryLevel, Exception exception)
 {
     WriteLogEntry(logEntryLevel, string.Empty, exception, null);
 }
 public void Log(LogEntryLevel logEntryLevel, string message, Exception exception)
 {
 }
 public void Log(LogEntryLevel logEntryLevel, string message, Exception exception)
 {
     WriteLogEntry(logEntryLevel, message, exception, null);
 }
 public void Log(LogEntryLevel logEntryLevel, string message, LogEntryContextDictionary logEntryContext)
 {
     WriteLogEntry(logEntryLevel, message, null, logEntryContext);
 }
 public void Log(LogEntryLevel logEntryLevel, string message)
 {
     WriteLogEntry(logEntryLevel, message, null, null);
 }
 public void Log(LogEntryLevel logEntryLevel, string message)
 {
 }
 public void Log(LogEntryLevel logEntryLevel, Exception exception, LogEntryContextDictionary logEntryContext)
 {
 }
 public void Log(LogEntryLevel logEntryLevel, Exception exception)
 {
 }
 public void Log(LogEntryLevel logEntryLevel, string message, Exception exception, LogEntryContextDictionary logEntryContext)
 {
     WriteLogEntry(logEntryLevel, message, exception, logEntryContext);
 }
 public void Log(LogEntryLevel logEntryLevel, string message, LogEntryContextDictionary logEntryContext)
 {
 }
Beispiel #34
0
 /// <summary>
 /// Initializes a new instance of an object.
 /// </summary>
 /// <param name="message">Log entry message.</param>
 /// <param name="level">Log entry level.</param>
 public LogEntry(string message, LogEntryLevel level)
 {
     this.Level = level;
     this.Message = message;
     this.Timestamp = DateTime.Now;
 }