private void SetConsoleColor(ConsoleLogLevel logLevel) { switch (logLevel) { case ConsoleLogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; break; case ConsoleLogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case ConsoleLogLevel.Information: Console.ForegroundColor = ConsoleColor.White; break; case ConsoleLogLevel.Success: Console.ForegroundColor = ConsoleColor.Green; break; case ConsoleLogLevel.Highlighted: Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = ConsoleColor.White; break; } }
public void LogStructured(INode node, ConsoleLogLevel logLevel, string format, object[] args) { switch (logLevel) { case ConsoleLogLevel.Debug: Console.ForegroundColor = ConsoleColor.Gray; break; case ConsoleLogLevel.Info: Console.ForegroundColor = ConsoleColor.Cyan; break; case ConsoleLogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case ConsoleLogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; break; } if (args == null) { Console.WriteLine(format); } else { Console.WriteLine(format, args); } Console.ForegroundColor = ConsoleColor.White; }
/** * <summary>Write a line to the console. </summary> * <param name="message">String that will be appended to the appendString. </param> * <param name="appendString">The string to append to.</param> * <param name="logLevel">The minimum logLevel setting required to display this log message</param> */ public void WriteLineAppendString(string message, ref string appendString, ConsoleLogLevel logLevel) { if (CheckLogLevel(logLevel)) { appendString += message + Environment.NewLine; } }
private void LogMessage(ConsoleLogLevel level, string module, string message) { lock(_lock) { WriteMessage(level, module, message); } }
/// <summary>Generate a message prefix for the current time.</summary> /// <param name="source">The name of the mod logging the message.</param> /// <param name="level">The log level.</param> private string GenerateMessagePrefix(string source, ConsoleLogLevel level) { string levelStr = level.ToString().ToUpper().PadRight(Monitor.MaxLevelLength); int? playerIndex = this.GetScreenIdForLog(); return($"[{DateTime.Now:HH:mm:ss} {levelStr}{(playerIndex != null ? $" screen_{playerIndex}" : "")} {source}]"); }
public static DataReceivedEventHandler WriteOutput(IConsole console, ConsoleLogLevel logLevel = ConsoleLogLevel.Default) { switch (logLevel) { case ConsoleLogLevel.Error: return((o, e) => { if (!string.IsNullOrWhiteSpace(e?.Data)) { console.WriteErrorLine(e.Data); } }); case ConsoleLogLevel.Warning: return((o, e) => { if (!string.IsNullOrWhiteSpace(e?.Data)) { console.WriteWarningLine(e.Data); } }); case ConsoleLogLevel.Default: default: return((o, e) => { if (!string.IsNullOrWhiteSpace(e?.Data)) { console.WriteDefaultLine(e.Data); } }); } }
/** * <summary>Write a line to the console. </summary> * <param name="message">String to write to console. </param> * <param name="tbControl">The textbox control for the console.</param> * <param name="logLevel">The minimum logLevel setting required to display this log message</param> */ public void WriteLine(string message, TextBox tbControl, ConsoleLogLevel logLevel) { if (CheckLogLevel(logLevel)) { tbControl.AppendText(message); tbControl.AppendText(Environment.NewLine); } }
internal void WriteLine(string consoleMessage, ConsoleLogLevel level) { lock (this.consoleMessageQueue) { this.consoleMessageQueue.AddFirst(new KeyValuePair <ConsoleLogLevel, string>(level, consoleMessage)); if (this.consoleMessageQueue.Count > 2000) { this.parseTextCache.Remove(this.consoleMessageQueue.Last.Value.Value); this.consoleMessageQueue.RemoveLast(); } } }
private void writer(ConsoleLogLevel level, string message, Exception exception = null) { if (IsEnabled(level)) { string exceptionMsg = string.Empty; if (exception != null) { exceptionMsg = $", {exception.Message},{exception.StackTrace}"; } Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}[{level.ToString()}], {message}{exceptionMsg}"); } }
public void LogStructured(INode node, ConsoleLogLevel logLevel, string format, object[] args) { var name = string.IsNullOrWhiteSpace(node.Name) ? node.Type.Name : node.Name; if (name.Length > 20) { name = name.Substring(0, 17) + "..."; } LogInternal(new ConsoleEntry { Count = 1, LogLevel = logLevel, Message = args == null ? format : string.Format(format, args), Name = name }); }
/********* ** Private methods *********/ /// <summary>Write a message line to the log.</summary> /// <param name="source">The name of the mod logging the message.</param> /// <param name="message">The message to log.</param> /// <param name="level">The log level.</param> private void LogImpl(string source, string message, ConsoleLogLevel level) { // generate message string prefix = this.GenerateMessagePrefix(source, level); string fullMessage = $"{prefix} {message}"; string consoleMessage = this.ShowFullStampInConsole ? fullMessage : $"[{source}] {message}"; // write to console if (this.WriteToConsole && (this.ShowTraceInConsole || level != ConsoleLogLevel.Trace)) { this.ConsoleWriter.WriteLine(this.IgnoreChar + consoleMessage, level); } // write to log file this.LogFile.WriteLine(fullMessage); }
public void LogStructured(INode node, ConsoleLogLevel logLevel, string format, object[] args) { var name = string.IsNullOrWhiteSpace(node.Name) ? node.Type.Name : node.Name; if (name.Length > 20) { name = name.Substring(0, 17) + "..."; } var message = (args == null ? format : string.Format(format, args)) ?? ""; foreach (var m in message.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) { LogInternal(new ConsoleEntry { Count = 1, LogLevel = logLevel, Message = m?.TrimEnd(), Name = name }); } }
public void SetLogLevel(int verboseLevel) { switch (verboseLevel) { case 3: _consoleLogLevel = ConsoleLogLevel.Fatal | ConsoleLogLevel.Error | ConsoleLogLevel.Warn | ConsoleLogLevel.Info; break; case 2: _consoleLogLevel = ConsoleLogLevel.Fatal | ConsoleLogLevel.Error | ConsoleLogLevel.Warn; break; case 1: _consoleLogLevel = ConsoleLogLevel.Fatal | ConsoleLogLevel.Error; break; case 0: _consoleLogLevel = ConsoleLogLevel.Fatal; break; } }
private void PrefixLine(ConsoleLogLevel level, bool reset = true) { switch (level) { case ConsoleLogLevel.Verbose: Console.ForegroundColor = ConsoleColor.Gray; _options.StdOut.Write($"{_options.ApplicationName}: verbose: "); break; case ConsoleLogLevel.Info: Console.ForegroundColor = ConsoleColor.Gray; _options.StdOut.Write($"{_options.ApplicationName}: info: "); break; case ConsoleLogLevel.Warn: Console.ForegroundColor = ConsoleColor.DarkYellow; _options.StdOut.Write($"{_options.ApplicationName}: warning: "); break; case ConsoleLogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; _options.StdErr.Write($"{_options.ApplicationName}: error: "); break; case ConsoleLogLevel.Fatal: Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Red; _options.StdErr.Write($"{_options.ApplicationName}: fatal: "); break; default: throw new Exception("Unknown Console Level"); } if (reset) { Console.ResetColor(); } }
/// <summary>Write a message line to the log.</summary> /// <param name="message">The message to log.</param> /// <param name="level">The log level.</param> public void WriteLine(string message, ConsoleLogLevel level) { if (this.SupportsColor) { if (level == ConsoleLogLevel.Critical) { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(message); Console.ResetColor(); } else { Console.ForegroundColor = this.Colors[level]; Console.WriteLine(message); Console.ResetColor(); } } else { Console.WriteLine(message); } }
public void LogStructured(INode node, ConsoleLogLevel logLevel, string format, object[] args) { _logShipping.AddLog(new PendingLogForShip { Message = args == null ? format : string.Format(format, args), LogLevel = logLevel }); switch (logLevel) { case ConsoleLogLevel.Debug: Console.ForegroundColor = ConsoleColor.Gray; break; case ConsoleLogLevel.Info: Console.ForegroundColor = ConsoleColor.Cyan; break; case ConsoleLogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case ConsoleLogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; break; } if (args == null) { Console.WriteLine(format); } else { Console.WriteLine(format, args); } Console.ForegroundColor = ConsoleColor.White; }
public void Log(String logText, ConsoleLogLevel logLevel = ConsoleLogLevel.Information) { SetConsoleColor(logLevel); Console.WriteLine(logText); Console.ResetColor(); }
/// <summary>Generate a message prefix for the current time.</summary> /// <param name="source">The name of the mod logging the message.</param> /// <param name="level">The log level.</param> private string GenerateMessagePrefix(string source, ConsoleLogLevel level) { string levelStr = level.ToString().ToUpper().PadRight(Monitor.MaxLevelLength); return($"[{DateTime.Now:HH:mm:ss} {levelStr} {source}]"); }
/** * <summary>Checks the user's logLevel and returns true if they have the minimum required.</summary> * <param name="logLevel">The minimum logLevel.</param> */ public bool CheckLogLevel(ConsoleLogLevel logLevel) { return(settings.ConsoleLogLevel >= (int)logLevel); }
public static void Log(String format, ConsoleLogLevel logLevel, params object[] arg) => Logger.Log(format, logLevel, arg);
public QpUpdateLoggingWrapper(ConsoleLogLevel consoleLogLevel = ConsoleLogLevel.Fatal) { LogProvider.LogFactory = new NLogFactory(); _logger = LogProvider.GetLogger(); _consoleLogLevel = consoleLogLevel; }
public static void Log(String logText, ConsoleLogLevel logLevel = ConsoleLogLevel.Information) => Logger.Log(logText, logLevel);
public void Log(string message, ConsoleLogLevel logLevel) { }
public ConsoleLoggerProvider(ConsoleLogLevel level) { ConsoleLogger._logLevel = level; }
private void WriteMessage(ConsoleLogLevel level, string module, string message) { if (_trueConsoleTop == 0) { _trueConsoleTop = Console.CursorTop; } if (_reclaimCount == 0) { _consoleWrap.WriteLine(string.Empty); _trueConsoleTop++; } else { _reclaimCount--; } //Set cursor to position above any current tasks if (_trueConsoleTop > Console.BufferHeight - 1) { _trueConsoleTop = Console.CursorTop; } Console.SetCursorPosition(0, _trueConsoleTop - 1 - _currentTaskNum); if (level == ConsoleLogLevel.Info) { ConsoleHelper.ConsoleToWhiteOnBlack(); } else if (level == ConsoleLogLevel.Debug) { ConsoleHelper.ConsoleToGreenOnBlack(); } else if (level == ConsoleLogLevel.Error) { ConsoleHelper.ConsoleToRedOnBlack(); } var logMessage = GenerateLoggingMessage(level.ToString().ToUpper(), module, message); var outputBuilder = new StringBuilder(); outputBuilder.Append(logMessage); //Shorten if overflowing buffer if (logMessage.Length > Console.BufferWidth) { logMessage = logMessage.Substring(0, Console.BufferWidth); } // If the new text is shorter than the old one: delete overlapping characters var overlapCount = Console.BufferWidth - logMessage.Length; if (overlapCount > 0) { outputBuilder.Append(' ', overlapCount); // outputBuilder.Append('\b', overlapCount); } _consoleWrap.Write(outputBuilder.ToString()); ConsoleHelper.ConsoleToWhiteOnBlack(); }
private bool IsEnabled(ConsoleLogLevel logLevel) { return(logLevel >= _logLevel); }
public void Log(String format, ConsoleLogLevel logLevel, params object[] arg) { SetConsoleColor(logLevel); Console.WriteLine(format, arg); Console.ResetColor(); }
protected override void ProcessRecord() { //todo set default to scriptname.log string test = MyInvocation.ScriptName; log4net.ILog logger = log4net.LogManager.GetLogger("Powershell"); System.IO.FileInfo logFileInfo = new System.IO.FileInfo(_logConfigFile); log4net.Config.XmlConfigurator.ConfigureAndWatch(logFileInfo); WriteObject(logger); log4net.Appender.IAppender[] appenders = log4net.LogManager.GetRepository().GetAppenders(); foreach (log4net.Appender.IAppender logAppender in appenders) { #region RollingFilleAppender if ((logAppender.GetType() == typeof(log4net.Appender.RollingFileAppender)) && logAppender.Name == "OSCCDefaultRollingFileAppender") { log4net.Appender.FileAppender fileAppender = (log4net.Appender.RollingFileAppender)logAppender; if (MyInvocation.BoundParameters.ContainsKey("LogFileName")) { log4net.Util.PatternString dynamicFileName = new log4net.Util.PatternString(LogFileName); log4net.Util.ConverterInfo adminuiLogConverterInfo = new log4net.Util.ConverterInfo(); adminuiLogConverterInfo.Name = "adminuilog"; adminuiLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMAdminUILogFolderPatternConverter); log4net.Util.ConverterInfo ccmLogConverterInfo = new log4net.Util.ConverterInfo(); ccmLogConverterInfo.Name = "ccmlog"; ccmLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMClientLogFolderPatternConverter); log4net.Layout.PatternLayout newLayout = new log4net.Layout.PatternLayout(); dynamicFileName.AddConverter(adminuiLogConverterInfo); dynamicFileName.AddConverter(ccmLogConverterInfo); dynamicFileName.ActivateOptions(); //fileAppender.File = LogFileName; fileAppender.File = dynamicFileName.Format(); } else { if (MyInvocation.ScriptName != "") { fileAppender.File = MyInvocation.ScriptName + ".log"; } } if (MyInvocation.BoundParameters.ContainsKey("FileLogLevel")) { switch (FileLogLevel.ToLower()) { case "off": fileAppender.Threshold = log4net.Core.Level.Off; break; case "info": fileAppender.Threshold = log4net.Core.Level.Info; break; case "warn": fileAppender.Threshold = log4net.Core.Level.Warn; break; case "error": fileAppender.Threshold = log4net.Core.Level.Error; break; case "debug": fileAppender.Threshold = log4net.Core.Level.Debug; break; default: fileAppender.Threshold = log4net.Core.Level.Info; break; } } else { fileAppender.Threshold = log4net.Core.Level.Info; } fileAppender.ActivateOptions(); } #endregion #region OMSFilleAppender if ((logAppender.GetType() == typeof(log4net.Appender.FileAppender)) && logAppender.Name == "OSCCOMSFileAppender") { log4net.Appender.FileAppender fileAppender = (log4net.Appender.FileAppender)logAppender; if (MyInvocation.BoundParameters.ContainsKey("OMSLogFileName")) { log4net.Util.PatternString dynamicFileName = new log4net.Util.PatternString(LogFileName); log4net.Util.ConverterInfo adminuiLogConverterInfo = new log4net.Util.ConverterInfo(); adminuiLogConverterInfo.Name = "adminuilog"; adminuiLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMAdminUILogFolderPatternConverter); log4net.Util.ConverterInfo ccmLogConverterInfo = new log4net.Util.ConverterInfo(); ccmLogConverterInfo.Name = "ccmlog"; ccmLogConverterInfo.Type = typeof(Log4Net_CMTrace.CMClientLogFolderPatternConverter); log4net.Layout.PatternLayout newLayout = new log4net.Layout.PatternLayout(); dynamicFileName.AddConverter(adminuiLogConverterInfo); dynamicFileName.AddConverter(ccmLogConverterInfo); dynamicFileName.ActivateOptions(); //fileAppender.File = LogFileName; fileAppender.File = dynamicFileName.Format(); } else { if (MyInvocation.ScriptName != "") { fileAppender.File = MyInvocation.ScriptName + ".OMS." + DateTime.Today.ToString("yyyyMMdd") + ".log"; } } if (MyInvocation.BoundParameters.ContainsKey("OMSFileLogLevel")) { switch (FileLogLevel.ToLower()) { case "off": fileAppender.Threshold = log4net.Core.Level.Off; break; case "info": fileAppender.Threshold = log4net.Core.Level.Info; break; case "warn": fileAppender.Threshold = log4net.Core.Level.Warn; break; case "error": fileAppender.Threshold = log4net.Core.Level.Error; break; case "debug": fileAppender.Threshold = log4net.Core.Level.Debug; break; default: fileAppender.Threshold = log4net.Core.Level.Info; break; } } fileAppender.ActivateOptions(); } #endregion #region ConsoleAppender if (logAppender.GetType() == typeof(log4net.Appender.ConsoleAppender)) { log4net.Appender.ConsoleAppender consoleAppender = (log4net.Appender.ConsoleAppender)logAppender; if (this.Host.Name.ToLower() == "consolehost") { if (MultiColor == false) { { if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel")) { switch (ConsoleLogLevel.ToLower()) { case "off": consoleAppender.Threshold = log4net.Core.Level.Off; break; case "info": consoleAppender.Threshold = log4net.Core.Level.Info; break; case "warn": consoleAppender.Threshold = log4net.Core.Level.Warn; break; case "error": consoleAppender.Threshold = log4net.Core.Level.Error; break; case "debug": consoleAppender.Threshold = log4net.Core.Level.Debug; break; default: consoleAppender.Threshold = log4net.Core.Level.Info; break; } } } } else { consoleAppender.Threshold = log4net.Core.Level.Off; } } else { if (this.Host.Name.ToLower() == "windows powershell ise host") { if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel")) { switch (ConsoleLogLevel.ToLower()) { case "off": consoleAppender.Threshold = log4net.Core.Level.Off; break; case "info": consoleAppender.Threshold = log4net.Core.Level.Info; break; case "warn": consoleAppender.Threshold = log4net.Core.Level.Warn; break; case "error": consoleAppender.Threshold = log4net.Core.Level.Error; break; case "debug": consoleAppender.Threshold = log4net.Core.Level.Debug; break; default: consoleAppender.Threshold = log4net.Core.Level.Info; break; } } if ((MyInvocation.BoundParameters.ContainsKey("MultiColor")) && (MultiColor == true)) { Console.WriteLine("Powershell ISe does not support multi colored displays."); } } } consoleAppender.ActivateOptions(); } #endregion #region coloredconsoleappender if (logAppender.GetType() == typeof(log4net.Appender.ColoredConsoleAppender)) { log4net.Appender.ColoredConsoleAppender coloredConsoleAppender = (log4net.Appender.ColoredConsoleAppender)logAppender; if (this.Host.Name.ToLower() == "consolehost") { if (MultiColor == true) { if (MyInvocation.BoundParameters.ContainsKey("ConsoleLogLevel")) { switch (ConsoleLogLevel.ToLower()) { case "off": coloredConsoleAppender.Threshold = log4net.Core.Level.Off; break; case "info": coloredConsoleAppender.Threshold = log4net.Core.Level.Info; break; case "warn": coloredConsoleAppender.Threshold = log4net.Core.Level.Warn; break; case "error": coloredConsoleAppender.Threshold = log4net.Core.Level.Error; break; case "debug": coloredConsoleAppender.Threshold = log4net.Core.Level.Debug; break; default: coloredConsoleAppender.Threshold = log4net.Core.Level.Info; break; } } } else { coloredConsoleAppender.Threshold = log4net.Core.Level.Off; } } if (this.Host.Name.ToLower() == "windows powershell ise host") { coloredConsoleAppender.Threshold = log4net.Core.Level.Off; } coloredConsoleAppender.ActivateOptions(); } #endregion } }
public QpUpdateLoggingWrapper(ConsoleLogLevel consoleLogLevel = ConsoleLogLevel.Fatal) { _consoleLogLevel = consoleLogLevel; }