Beispiel #1
0
 public FileLogger(string categoryName, string fallbackFileName, IFileLoggerProcessor processor, IFileLoggerSettingsBase settings,
                   Func <DateTimeOffset> timestampGetter = null)
     : this(
         categoryName ?? throw new ArgumentNullException(nameof(categoryName)),
         settings?.MapToFileName(categoryName, fallbackFileName ?? throw new ArgumentNullException(nameof(fallbackFileName))) ??
         throw new ArgumentNullException(nameof(settings)),
         processor,
         settings.BuildFilter(categoryName),
         settings.IncludeScopes,
         settings.TextBuilder,
         timestampGetter : timestampGetter)
 {
 }
Beispiel #2
0
        public void Update(string fallbackFileName, IFileLoggerSettingsBase settings)
        {
            // full thread synchronization is omitted for performance reasons
            // as it is considered non-critical (ConsoleLogger is implemented in a similar way)

            var state = CreateState(settings);

            state.FileName      = settings.MapToFileName(CategoryName, fallbackFileName);
            state.Filter        = settings.BuildFilter(CategoryName);
            state.IncludeScopes = settings.IncludeScopes;
            state.TextBuilder   = settings.TextBuilder ?? FileLogEntryTextBuilder.Instance;

            State = state;
        }