private async Task <bool> AddAsyncInternal(EventLog eventLog, long maxSize) { _loggerService.StartMethod(); try { string fileName = GetFileName(eventLog); string filePath = Path.Combine(_basePath, fileName); if (File.Exists(filePath)) { _loggerService.Info($"{filePath} already exist."); return(false); } var serializedJson = JsonConvert.SerializeObject(eventLog); // Check log size. long size = Encoding.UTF8.GetByteCount(serializedJson); if (size > maxSize) { _loggerService.Info($"Log size {size} exceed maxSize {maxSize} bytes."); return(false); } string directoryName = Path.GetDirectoryName(filePath); if (!Directory.Exists(directoryName)) { Directory.CreateDirectory(directoryName); _loggerService.Info($"Directory created. directoryName:{directoryName}"); } await File.WriteAllTextAsync(filePath, serializedJson); _loggerService.Info($"Write event log. filePath:{filePath}"); _backupAttributeService.SetSkipBackupAttributeToEventLogDir(); return(true); } catch (Exception ex) { _loggerService.Exception("Write event log failure.", ex); } finally { _loggerService.EndMethod(); } return(false); }
protected override void OnInitialized() { InitializeComponent(); LoggerService = Container.Resolve <ILoggerService>(); LoggerService.StartMethod(); LogFileService = Container.Resolve <ILogFileService>(); LogFileService.SetSkipBackupAttributeToLogDir(); BackupAttributeService = Container.Resolve <IBackupAttributeService>(); BackupAttributeService.SetSkipBackupAttributeToEventLogDir(); EventLogRepository = Container.Resolve <IEventLogRepository>(); LogUnobservedTaskExceptions(); FirstLoad = false; LoggerService.EndMethod(); }