public void Execute(RollingFileContext ctx) { var needUseToday = (!_tryUseTodayLastFile.IsValueCreated && _tryUseTodayLastFile.Value); var newFile = needUseToday ? GetTodayLastFileOrCreateNew(ctx.FileProvider) : ctx.FileProvider.ProduceNewFile(); ctx.LogFile.Change(newFile.FullName, _append); }
public void Execute(RollingFileContext ctx) { var expireTime = Clock.Now - ExpirationTimeSpan; var expiredFiles = ctx.FileProvider.GetFiles() .Where(x => x.Exists && x.CreationTime <= expireTime) .ToArray(); foreach (var file in expiredFiles) { if (file.FullName == ctx.LogFile.Path) { var newFile = ctx.FileProvider.ProduceNewFile(); ctx.LogFile.Change(newFile.FullName); } file.Delete(); } }