private void SetVerbosity(VerbosityLevel level) { _log.LogTrace("Adding Verbosity Level"); if (level > 0) { if (level.ToString().Length == 1) { level = level - 1; } _command.Append($"--verbosity {level.ToString().ToLower()}"); } }
private void Log(VerbosityLevel level, Int32 layer, String message, params Object[] args) { if (level > _verbosity && (level & VerbosityLevel.FORCE_LOG) != VerbosityLevel.FORCE_LOG) { _messagesIgnored++; return; } level = level & ~VerbosityLevel.FORCE_LOG; Console.ForegroundColor = _verbosityColors[level]; Console.WriteLine("[" + level.ToString().Substring(0, 3) + "] " + new String(' ', layer) + message, args); }
public string[] ToStringArray() { List <string> parameters = new List <string>(); if (!string.IsNullOrEmpty(InputFile)) { parameters.Add("-i"); parameters.Add(InputFile); } if (VerbosityLevel >= 0) { parameters.Add("-v"); parameters.Add(VerbosityLevel.ToString()); } if (SecondsToSkip > 0) { TimeSpan skipDuration = TimeSpan.FromSeconds(SecondsToSkip); parameters.Add("-ss"); parameters.Add(string.Format("{0:hh\\:mm\\:ss\\.fff}", skipDuration)); } if (!string.IsNullOrEmpty(EarlyExtendedOptions)) { parameters.AddRange(EarlyExtendedOptions.Split(' ')); } if (!string.IsNullOrEmpty(OutputFormat)) { parameters.Add("-f"); parameters.Add(OutputFormat); } if (ExcludeVideo) { parameters.Add("-vn"); } else { if (!string.IsNullOrEmpty(VideoCodec)) { parameters.Add("-vcodec"); parameters.Add(VideoCodec); } if (VideoFramerate > 0) { parameters.Add("-r"); parameters.Add(VideoFramerate.ToString("F")); } if (!string.IsNullOrEmpty(VideoBitrate)) { parameters.Add("-b"); parameters.Add(VideoBitrate); } if (VideoQualityControl > 0) { parameters.Add("-crf"); parameters.Add(VideoQualityControl.ToString()); } if (!string.IsNullOrEmpty(VideoPreset)) { parameters.Add("-vpre"); parameters.Add(string.Format("{0}", VideoPreset)); } if ((VideoWidth != -1 || VideoHeight != -1) && (VideoWidth != 0 || VideoHeight != 0)) { parameters.Add("-vf"); parameters.Add(string.Format("scale={0}:{1}", VideoWidth, VideoHeight)); } } if (ExcludeAudio) { parameters.Add("-an"); } else { if (!string.IsNullOrEmpty(AudioCodec)) { parameters.Add("-acodec"); parameters.Add(AudioCodec); } if (AudioSampleRate > 0) { parameters.Add("-ar"); parameters.Add(AudioSampleRate.ToString()); } if (!string.IsNullOrEmpty(AudioBitrate)) { parameters.Add("-ab"); parameters.Add(AudioBitrate); } if (AudioChannels > 0) { parameters.Add("-ac"); parameters.Add(AudioChannels.ToString()); } } if (!string.IsNullOrEmpty(LateExtendedOptions)) { parameters.AddRange(LateExtendedOptions.Split(' ')); } if (VideoStreamIndex != -1) { parameters.Add("-map"); parameters.Add(string.Format("0:{0}", VideoStreamIndex)); } if (AudioStreamIndex != -1) { parameters.Add("-map"); parameters.Add(string.Format("0:{0}", AudioStreamIndex)); } if (!string.IsNullOrEmpty(OutputFile)) { parameters.Add(string.Format("\"{0}\"", OutputFile)); } return(parameters.ToArray()); }
/// <summary> /// Escribir una linea de mensaje en consola y guardarlo en el log del programa /// </summary> /// <param name="message">Mensaje a escribir</param> /// <param name="verbosity">Nivel de verbosidad del mensaje</param> /// <param name="supressPrefix">Especifica si se debe suprimir el prefijo de importancia</param> /// <param name="colorize">Especifica si se debe de colorear el output segĂșn la importancia</param> public static void WriteLine(string message, VerbosityLevel verbosity, bool supressPrefix, bool colorize = true, string sourceName = null) { Logging.WriteLine(message, verbosity); string prefix = string.Empty; if (sourceName != null) { prefix = $"[{sourceName}] "; } if (!supressPrefix && verbosity > 0) { prefix += $"{verbosity.ToString().ToUpper()}: "; } ConsoleColor foreground = Console.ForegroundColor; ConsoleColor background = Console.BackgroundColor; if (colorize) { switch (verbosity) { case VerbosityLevel.Default: Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; break; case VerbosityLevel.Info: Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Cyan; break; case VerbosityLevel.Warning: Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Yellow; break; case VerbosityLevel.Error: Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; break; default: Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Gray; break; } } if (verbosity < VerbosityLevel.Error) { Console.WriteLine(prefix + message); } else { Console.Error.WriteLine(prefix + message); } Console.ForegroundColor = foreground; Console.BackgroundColor = background; }
public virtual void Subscribe(ILogger logger) { lock (_subscriberLock) { if (logger != null && !IsSubscribed(logger)) { _subscribers.Add(logger); Type currentType = this.GetType(); EventInfo[] eventInfos = currentType.GetEvents(); eventInfos.Each(eventInfo => { bool shouldSubscribe = true; VerbosityLevel logEventType = VerbosityLevel.Information; if (eventInfo.HasCustomAttributeOfType(out VerbosityAttribute verbosity)) { shouldSubscribe = (int)verbosity.Value <= (int)LogVerbosity; logEventType = verbosity.Value; } if (shouldSubscribe) { if (eventInfo.EventHandlerType.Equals(typeof(EventHandler))) { eventInfo.AddEventHandler(this, (EventHandler)((s, a) => { string message = ""; if (verbosity != null) { if (!verbosity.TryGetMessage(s, out message)) { verbosity.TryGetMessage(a, out message); } } if (!string.IsNullOrEmpty(message)) { logger.AddEntry(message, (int)logEventType); } else { logger.AddEntry("Event {0} raised on type {1}::{2}", (int)logEventType, logEventType.ToString(), currentType.Name, eventInfo.Name); } })); } } }); } } }
public static string FormatMessagePartial(string message, VerbosityLevel verbosity) { return($"<{CurrentISOTime}> Partial {verbosity.ToString().ToUpper()}: {message}"); }