public void FileLoggerShouldUse() { var factory = new LogFileNameFactory(_path, LogFileCycle.OneFile, "test", "log"); var logFileName = Path.Combine(_path, "test.log"); if (File.Exists(logFileName)) { File.Delete(logFileName); } var logger = new FileLogger(factory, "test-logger"); logger.LogInformation("information-message"); using (logger.BeginScope("FunctionCall")) { logger.LogWarning("warning-message"); logger.LogTrace("trace-message"); } logger.LogError("error-message"); var logContent = File.ReadAllText(logFileName); Assert.Contains("test-logger", logContent); Assert.Contains("information-message", logContent); Assert.Contains("error-message", logContent); Assert.Contains("warning-message", logContent); Assert.Contains("trace-message", logContent); Assert.Contains("=> FunctionCall", logContent); }
public void FilenameForCycleOneFileShouldBeNameOnly() { var factory = new LogFileNameFactory(_path, LogFileCycle.OneFile, "test", "log"); var logFileName = factory.GetLogFileName(); Assert.StartsWith(_path, logFileName); var fileName = Path.GetFileName(logFileName); Assert.Equal("test.log", fileName); }
public void FilenameForCycleYearlyShouldBeNameAndYear() { var factory = new LogFileNameFactory(_path, LogFileCycle.Yearly, "test", "log"); var now = DateTime.Now; var expectedName = $"test_{now.Year:D4}.log"; var logFileName = factory.GetLogFileName(); Assert.StartsWith(_path, logFileName); var fileName = Path.GetFileName(logFileName); Assert.Equal(expectedName, fileName); }
public void FilenameForCycleWeeklyShouldBeNameAndWeek() { var factory = new LogFileNameFactory(_path, LogFileCycle.Weekly, "test", "log"); var now = DateTime.Now; var expectedName = $"test_{Thread.CurrentThread.CurrentCulture.Calendar.GetWeekOfYear(now, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday):D2}.log"; var logFileName = factory.GetLogFileName(); Assert.StartsWith(_path, logFileName); var fileName = Path.GetFileName(logFileName); Assert.Equal(expectedName, fileName); }
public void FileLoggerShouldCreateFileIfNotExits() { var factory = new LogFileNameFactory(_path, LogFileCycle.OneFile, "test", "log"); var logFileName = Path.Combine(_path, "test.log"); if (File.Exists(logFileName)) { File.Delete(logFileName); } var logger = new FileLogger(factory, "test-logger"); logger.LogInformation("information-message"); Assert.True(File.Exists(logFileName)); var logContent = File.ReadAllText(logFileName); Assert.Contains("test-logger", logContent); Assert.Contains("information-message", logContent); }