|
1 | 1 | using System;
|
2 | 2 | using System.Collections.Generic;
|
3 | 3 | using System.Data.SqlClient;
|
| 4 | +using System.IO; |
4 | 5 | using System.Linq;
|
| 6 | +using System.Threading; |
| 7 | +using System.Threading.Tasks; |
5 | 8 | using Dapper;
|
6 | 9 | using Xunit;
|
7 | 10 | using FluentAssertions;
|
| 11 | +using Serilog.Events; |
8 | 12 |
|
9 | 13 | namespace Serilog.Sinks.MSSqlServer.Tests
|
10 | 14 | {
|
@@ -111,5 +115,46 @@ public void TableCreatedWithDefaultNames()
|
111 | 115 | }
|
112 | 116 | }
|
113 | 117 | }
|
| 118 | + |
| 119 | + [Fact] |
| 120 | + public void WriteEventToDefaultStandardColumns() |
| 121 | + { |
| 122 | + // arrange |
| 123 | + var loggerConfiguration = new LoggerConfiguration(); |
| 124 | + Log.Logger = loggerConfiguration.WriteTo.MSSqlServer( |
| 125 | + connectionString: DatabaseFixture.LogEventsConnectionString, |
| 126 | + tableName: DatabaseFixture.LogTableName, |
| 127 | + autoCreateSqlTable: true, |
| 128 | + batchPostingLimit: 1, |
| 129 | + period: TimeSpan.FromSeconds(10), |
| 130 | + columnOptions: new ColumnOptions()) |
| 131 | + .CreateLogger(); |
| 132 | + |
| 133 | + var file = File.CreateText("Self.log"); |
| 134 | + Serilog.Debugging.SelfLog.Enable(TextWriter.Synchronized(file)); |
| 135 | + |
| 136 | + // act |
| 137 | + const string loggingInformationMessage = "Logging Information message"; |
| 138 | + Log.Information(loggingInformationMessage); |
| 139 | + |
| 140 | + //Thread.Sleep(50); |
| 141 | + |
| 142 | + Log.CloseAndFlush(); |
| 143 | + |
| 144 | + // assert |
| 145 | + using (var conn = new SqlConnection(DatabaseFixture.LogEventsConnectionString)) |
| 146 | + { |
| 147 | + var logEvents = conn.Query<DefaultStandardLogColumns>($"SELECT Message, Level FROM {DatabaseFixture.LogTableName}"); |
| 148 | + |
| 149 | + logEvents.Should().Contain(e => e.Message.Contains(loggingInformationMessage)); |
| 150 | + } |
| 151 | + } |
| 152 | + } |
| 153 | + |
| 154 | + public class DefaultStandardLogColumns |
| 155 | + { |
| 156 | + public string Message { get; set; } |
| 157 | + |
| 158 | + public LogEventLevel Level { get; set; } |
114 | 159 | }
|
115 | 160 | }
|
0 commit comments