/// <summary> /// Creates an hourly rolling file sink that rolls files every hour with an /// overload to pass ITextFormatter. /// </summary> /// <param name="configuration"><see cref="LoggerSinkConfiguration"/></param> /// <param name="formatter">Formatter to control how events are rendered into the file. To control /// plain text formatting, use the overload that accepts an output template instead.</param> /// <param name="logDirectory">The names of the directory to be logged</param> /// <param name="minimumLevel">Minimum <see cref="LogLevel"/></param> /// <param name="retainedFileCountLimit">The maximum number of log files that will be retained, /// including the current log file. The default is null which is unlimited.</param> /// <returns></returns> public static LoggerConfiguration HourlyRollingFileAlternate( this LoggerSinkConfiguration configuration, ITextFormatter formatter, string logDirectory, LogEventLevel minimumLevel = LevelAlias.Minimum, int?retainedFileCountLimit = null) { if (configuration == null) { throw new ArgumentNullException("configuration"); } var sink = new HourlyRollingFileSink(logDirectory, formatter, retainedFileCountLimit); return(configuration.Sink(sink, minimumLevel)); }
/// <summary> /// Creates an hourly rolling file sink that rolls files every hour. /// </summary> /// <param name="configuration"><see cref="LoggerSinkConfiguration"/></param> /// <param name="logDirectory">The names of the directory to be logged</param> /// <param name="minimumLevel">Minimum <see cref="LogLevel"/></param> /// <param name="outputTemplate">The template for substituting logged parameters</param> /// <param name="formatProvider">A culture specific format provider</param> /// <returns></returns> public static LoggerConfiguration HourlyRollingFileAlternate( this LoggerSinkConfiguration configuration, string logDirectory, LogEventLevel minimumLevel = LevelAlias.Minimum, string outputTemplate = DefaultOutputTemplate, IFormatProvider formatProvider = null) { if (configuration == null) { throw new ArgumentNullException("configuration"); } var templateFormatter = new MessageTemplateTextFormatter(outputTemplate, formatProvider); var sink = new HourlyRollingFileSink(logDirectory, templateFormatter); return(configuration.Sink(sink, minimumLevel)); }