public void should_append_with_empty_prefix() { var bytes = new byte[256]; const string message = "Test log message"; var byteLength = Encoding.Default.GetBytes(message, 0, message.Length, bytes, 0); var logEventHeader = new LogEventHeader(); var appender = new MemoryAppender(""); appender.WriteEvent(logEventHeader, bytes, byteLength); appender.WriteEvent(logEventHeader, bytes, byteLength); appender.Flush(); var logLine = $"{message}{Environment.NewLine}"; Check.That(appender.ToString()).IsEqualTo(logLine + logLine); }
public void should_log_to_file() { var bytes = new byte[256]; var message = "Test log message"; var byteLength = Encoding.Default.GetBytes(message, 0, message.Length, bytes, 0); var logEventHeader = new LogEventHeader { Level = Level.Info, Name = "TestLog", ThreadId = 42, Timestamp = DateTime.UtcNow, }; _appender.WriteEvent(logEventHeader, bytes, byteLength); _appender.Flush(); var written = GetLastLine(); Check.That(written).IsEqualTo($"{logEventHeader.Timestamp.Date:yyyy-MM-dd} - {logEventHeader.Timestamp.TimeOfDay.ToString(@"hh\:mm\:ss\.fff")} - {logEventHeader.ThreadId} - INFO - TestLog || " + message); }
public void should_append_newline_even_when_there_are_not_enough_bytes_left_in_buffer() { var bytes = new byte[4]; const string message = "Fooo"; var logEventHeader = new LogEventHeader(); var appender = new MemoryAppender(""); Encoding.Default.GetBytes(message, 0, message.Length, bytes, 0); appender.WriteEvent(logEventHeader, bytes, 2); Encoding.Default.GetBytes(message, 0, message.Length, bytes, 0); appender.WriteEvent(logEventHeader, bytes, 3); Encoding.Default.GetBytes(message, 0, message.Length, bytes, 0); appender.WriteEvent(logEventHeader, bytes, 4); appender.Flush(); Check.That(appender.ToString()).IsEqualTo($"Fo{Environment.NewLine}Foo{Environment.NewLine}Fooo{Environment.NewLine}"); }
public void should_write_prefix(string pattern, string expectedResult) { var prefixWriter = new PrefixWriter(pattern); var logEventHeader = new LogEventHeader { Level = Level.Info, Name = "TestLog", ThreadId = 42, Timestamp = new DateTime(2020, 01, 02, 03, 04, 05, 06) }; using var stream = new MemoryStream(); var bytesWritten = prefixWriter.WritePrefix(stream, logEventHeader, Encoding.UTF8); Check.That(bytesWritten).IsEqualTo((int)stream.Position); var result = Encoding.UTF8.GetString(stream.GetBuffer(), 0, bytesWritten); Check.That(result).IsEqualTo(expectedResult); }
public void should_append() { var bytes = new byte[256]; const string message = "Test log message"; var byteLength = Encoding.Default.GetBytes(message, 0, message.Length, bytes, 0); var logEventHeader = new LogEventHeader { Level = Level.Info, Name = "TestLog", ThreadId = 42, Timestamp = DateTime.UtcNow, }; var appender = new MemoryAppender("%date - %time - %thread - %level - %logger || "); appender.WriteEvent(logEventHeader, bytes, byteLength); appender.WriteEvent(logEventHeader, bytes, byteLength); appender.Flush(); var logLine = $"{logEventHeader.Timestamp.Date:yyyy-MM-dd} - {logEventHeader.Timestamp.TimeOfDay:hh\\:mm\\:ss\\.fffffff} - {logEventHeader.ThreadId} - INFO - TestLog || {message}{Environment.NewLine}"; Check.That(appender.ToString()).IsEqualTo(logLine + logLine); }