/// <summary> /// Use the specified <paramref name="logWriter"/>. /// </summary> /// <param name="logManagerConfig"></param> /// <param name="logWriter"></param> /// <returns>A <see cref="UseExistingLogWriterConfig"/> that will return <paramref name="logWriter"/> when the <see cref="LogManager"/> is started.</returns> public static UseExistingLogWriterConfig UseLogWriter(this LogManagerConfig logManagerConfig, ILogWriter logWriter) { Contract.Requires <ArgumentNullException>(logManagerConfig != null); Contract.Requires <ArgumentNullException>(logWriter != null); var useExistingConfig = new UseExistingLogWriterConfig(logWriter); logManagerConfig.Writers.Add(useExistingConfig); return(useExistingConfig); }
public static TextWriterLogWriterConfig UseTextWriter(this LogManagerConfig logManagerConfig, Func <TextWriter> createTextWriterFunc) { Contract.Requires <ArgumentNullException>(logManagerConfig != null); Contract.Requires <ArgumentNullException>(createTextWriterFunc != null); var writerConfig = new TextWriterLogWriterConfig(createTextWriterFunc); logManagerConfig.Writers.Add(writerConfig); return(writerConfig); }
public static TextWriterLogWriterConfig UseTextWriter(this LogManagerConfig logManagerConfig, TextWriter textWriter) { Contract.Requires <ArgumentNullException>(logManagerConfig != null); Contract.Requires <ArgumentNullException>(textWriter != null); var writerConfig = new TextWriterLogWriterConfig(textWriter); logManagerConfig.Writers.Add(writerConfig); return(writerConfig); }
/// <summary> /// Ensures that a single <see cref="DebuggerLogWriterConfig" /> is configured in the <paramref name="logManagerConfig" />. /// </summary> /// <param name="logManagerConfig"></param> /// <returns></returns> public static DebuggerLogWriterConfig UseDebugger(this LogManagerConfig logManagerConfig) { Contract.Requires <ArgumentNullException>(logManagerConfig != null); var debuggerConfig = logManagerConfig.Writers.OfType <DebuggerLogWriterConfig>().FirstOrDefault(); if (debuggerConfig == null) { debuggerConfig = new DebuggerLogWriterConfig(); logManagerConfig.Writers.Add(debuggerConfig); } return(debuggerConfig); }
/// <summary> /// Log to <paramref name="list"/>. /// </summary> /// <typeparam name="TEntry">The <see cref="ILogEntry"/> type to log to the list.</typeparam> /// <param name="logManagerConfig">The <see cref="LogManagerConfig"/> being configured.</param> /// <param name="list">A list object.</param> /// <returns>A <see cref="ListLogWriterConfig{TEntry}"/> holding the configuration for the <see cref="ListLogWriter{TEntry}"/>. Can be further configured.</returns> public static ListLogWriterConfig <TEntry> UseList <TEntry>(this LogManagerConfig logManagerConfig, IList <TEntry> list) where TEntry : ILogEntry { Contract.Requires <ArgumentNullException>(logManagerConfig != null); Contract.Requires <ArgumentNullException>(list != null); var listLogWriterConfig = new ListLogWriterConfig <TEntry>() { List = list }; logManagerConfig.Writers.Add(listLogWriterConfig); return(listLogWriterConfig); }
/// <summary> /// Ensures that a single <see cref="ConsoleLogWriterConfig" /> is configured in the <paramref name="logManagerConfig" />. /// </summary> /// <param name="logManagerConfig"></param> /// <param name="colorize"></param> /// <returns>The <see cref="ConsoleLogWriterConfig" />, which can be altered as needed.</returns> public static ConsoleLogWriterConfig UseConsole(this LogManagerConfig logManagerConfig, bool colorize = true) { Contract.Requires <ArgumentNullException>(logManagerConfig != null); var consoleWriterConfig = logManagerConfig.Writers.OfType <ConsoleLogWriterConfig>().FirstOrDefault(); if (consoleWriterConfig == null) { consoleWriterConfig = new ConsoleLogWriterConfig(); logManagerConfig.Writers.Add(consoleWriterConfig); } consoleWriterConfig.UseColor = colorize; return(consoleWriterConfig); }