Beispiel #1
0
 public void Debug(string message)
 {
     if (_logLevel.CompareTo(LogLevel.Debug) <= 0)
     {
         Log("debug", message);
     }
 }
Beispiel #2
0
 public void info(string msg, Exception ex)
 {
     if (level.CompareTo(LogLevel.INFO) <= 0)
     {
         if (Console.Out != null)
         {
             Console.WriteLine(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg + " " + LogHelper.HandleException(ex));
         }
     }
     if (downstream != null)
     {
         downstream.info(msg, ex);
     }
 }
Beispiel #3
0
 public void info(string msg, Exception ex)
 {
     if (level.CompareTo(LogLevel.INFO) <= 0)
     {
         write(DateTime.Now.ToString("o") + " INFO [" + name + "] " + msg + " " + LogHelper.HandleException(ex), EventLogEntryType.Information);
     }
     if (downstream != null)
     {
         downstream.info(msg);
     }
 }
Beispiel #4
0
        private void PushInternal(Action <string> push, StreamOptions options)
        {
            if (_logLevel.CompareTo(options.Level) > 0)
            {
                return;
            }

            int totalCount = options.Messages.Count();

            for (var i = 0; i < totalCount; i++)
            {
                StreamMessage streamMessage = options.Messages.ElementAt(i);
                Console.ForegroundColor = streamMessage.Color ?? _defaultColor;
                if (i == totalCount - 1)
                {
                    push(streamMessage.Message);
                }
                else
                {
                    Console.Write(streamMessage.Message);
                }

                Console.ForegroundColor = _defaultColor;
            }
        }
Beispiel #5
0
        public static void Log(LogLevel level, string message)
        {
            if (level.CompareTo(HardCodedConfig.LogLevel) < 0)
            {
                return;
            }
            var timeStamp = DateTime.Now;

            WriteToConsole(timeStamp, level, message);
        }
Beispiel #6
0
        /// <summary>
        /// Writes a log entry in the GWL stream if the level is greater than
        /// <code>MinimalLogLevel</code>
        /// </summary>
        /// <param name="level">Level of the log entry.</param>
        /// <param name="message">Message of the log entry.</param>
        /// <param name="engine">Engine instance used to geotag the log entry.</param>
        /// <returns>True if the log entry's level was above or equal to the minimal required
        /// level and the entry was successfully written on the stream, false otherwise.</returns>
        public bool TryWriteLogEntry(LogLevel level, string message, Engine engine)
        {
            // Checks if the entry is allowed to be displayed at all.
            if (level.CompareTo(MinimalLogLevel) < 0)
            {
                return(false);
            }

            // Tries to write the message.
            try
            {
                _writer.WriteLine(engine.CreateLogMessage(message));

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Beispiel #7
0
        /// <summary>
        /// Writes the specified level logs.
        /// </summary>
        /// <param name="level">The level.</param>
        /// <param name="message">The message.</param>
        private void Write(LogLevel level, string message)
        {
            if (level.CompareTo(_appSettingLogLevel) < 0)
            {
                return;
            }
            if (_writer == null)
            {
                return;
            }
            if (string.IsNullOrWhiteSpace(message))
            {
                return;
            }

            Write(new LogEntry(
                      message,
                      DateTime.Now.ToString(@"yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
                      Thread.CurrentThread.ManagedThreadId.ToString("000", CultureInfo.InvariantCulture),
                      level));
        }
Beispiel #8
0
		/// <summary>
		/// Writes a log entry in the GWL stream if the level is greater than
		/// <code>MinimalLogLevel</code>
		/// </summary>
		/// <param name="level">Level of the log entry.</param>
		/// <param name="message">Message of the log entry.</param>
		/// <param name="engine">Engine instance used to geotag the log entry.</param>
		/// <returns>True if the log entry's level was above or equal to the minimal required
		/// level and the entry was successfully written on the stream, false otherwise.</returns>
		public bool TryWriteLogEntry(LogLevel level, string message, Engine engine)
		{
			// Checks if the entry is allowed to be displayed at all.
			if (level.CompareTo(MinimalLogLevel) < 0)
			{
				return false;
			}

			// Tries to write the message.
			try
			{
				_writer.WriteLine(engine.CreateLogMessage(message));

				return true;
			}
			catch (Exception)
			{
				return false;
			}
		}
 protected bool checkFilter(LogLevel level)
 {
     return (level.CompareTo(filter) < 0);
 }
Beispiel #10
0
        public void Log <TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter)
        {
            if (logLevel.CompareTo(_logLevel) >= 0 && state != null)
            {
                lock (_fileName)
                {
                    if (File.Exists(_path + _fileName))
                    {
                        FileInfo fi = new FileInfo(_path + _fileName);

                        //check if next log statement will make it larger than max allowed size

                        if (fi.Length + state.ToString().Length > _maxFileSize)
                        {
                            DirectoryInfo di    = new DirectoryInfo(@_path);
                            FileInfo[]    files = di.GetFiles(_fileName + "*");
                            Array.Reverse(files);
                            int currentFileCount = files.Count();
                            //if current file count is equal or greater than max allowed, remove all extra files
                            if (currentFileCount >= _maxNumberOfFiles)
                            {
                                for (int i = 0; i < currentFileCount + 1 - _maxNumberOfFiles; i++)
                                {
                                    File.Delete(_path + files[i].Name);
                                }
                            }
                            // rename all the remaining and create the new one
                            di    = new DirectoryInfo(@_path);
                            files = di.GetFiles(_fileName + "*");
                            Array.Reverse(files);
                            for (int i = 0; i < files.Length; i++)
                            {
                                int fileNumberExt = -1;
                                if (!Int32.TryParse(Path.GetExtension(files[i].Name).Replace(".", ""), out fileNumberExt))
                                {
                                    fileNumberExt = -1;
                                }

                                if (fileNumberExt == -1)
                                {
                                    File.Move(_path + files[i].Name, _path + files[i].Name + ".0");
                                }
                                else
                                {
                                    File.Move(_path + files[i].Name, _path + Path.GetFileNameWithoutExtension(files[i].Name) + "." + (fileNumberExt + 1));
                                }
                            }
                        }
                    }
                    // Create a file to write to.
                    using (StreamWriter sw = File.AppendText(_path + _fileName))
                    {
                        sw.WriteLine(state.ToString());
                        if (exception != null)
                        {
                            sw.WriteLine(exception.StackTrace);
                        }
                    }
                }
            }
        }
Beispiel #11
0
 protected bool checkFilter(LogLevel level)
 {
     return(level.CompareTo(filter) < 0);
 }
Beispiel #12
0
    /// <summary>
    /// Writes the specified level logs.
    /// </summary>
    /// <param name="level">The level.</param>
    /// <param name="message">The message.</param>
    private void Write(LogLevel level, string message)
    {
      if (level.CompareTo(_appSettingLogLevel) < 0) return;
      if (_writer == null) return;
      if (string.IsNullOrWhiteSpace(message)) return;

      Write(new LogEntry(
          message,
          DateTime.Now.ToString(@"yyyy-MM-dd HH:mm:ss.ffffff", CultureInfo.InvariantCulture),
          Thread.CurrentThread.ManagedThreadId.ToString("000", CultureInfo.InvariantCulture),
          level));
    }