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