public FileLoggerProvider(IOptionsMonitor <FileLoggerOption> options) { _cache = new ConcurrentDictionary <string, ILogger>(); _fileLoggerOption = options.CurrentValue; options.OnChange(OnOptionsChange); _logLevel = options.CurrentValue.LogLevel; }
private string GetFilePath(FileLoggerOption fileLoggerOption, string categoryName) { if (!Directory.Exists(fileLoggerOption.LogPath)) { Directory.CreateDirectory(fileLoggerOption.LogPath); } return(Path.Combine(fileLoggerOption.LogPath, categoryName + fileLoggerOption.LogFileExtension)); }
public FileLogger(FileLoggerOption options, string categoryName, LogLevel logLevel) { _filePath = GetFilePath(options, categoryName); _logLevel = logLevel; }
private void OnOptionsChange(FileLoggerOption fileLoggerOption) { _fileLoggerOption = fileLoggerOption; _cache.Clear(); }