我创建了一个 .Net 类库 (4.6.2) 并创建了由其他接口(如控制台应用程序)调用的 serilog 实现。现在,当我使用文件接收器类型时,日志被写入文件,但使用 MSSQL 接收器,它没有这样做。使用 autoCreateTable 选项提供的列选项创建日志表
ILogger logger = new LoggerConfiguration()
.WriteTo.MSSqlServer(connectionString,
tableName,
autoCreateSqlTable: autoCreateSqlTable,
restrictedToMinimumLevel: LogEventLevel.Verbose,
columnOptions: GetSQLSinkColumnOptions(),
batchPostingLimit: batchPostingLimit)
.CreateLogger();
Run Code Online (Sandbox Code Playgroud)
我还启用了 serilog 的自我记录,但没有显示任何异常。没有找到任何有用的解决方案。
然而,日志表正在生成。我已经检查了用户的权限,并且也有正确的权限。
下面是代码的快照。
public static class GenericLogger
{
private static ILogger _usageLogger;
private static ILogger _errorLogger;
static GenericLogger()
{
var logTypes = LogConfigurationHelper.GetLogTypes();
if (logTypes != null && logTypes.Count > 0)
{
foreach (var logType in logTypes)
{
ConfigureLogger(logType.Id); // Intitalizes logs based on
//configuration.
}
}
Serilog.Debugging.SelfLog.Enable(msg =>
{
Debug.Print(msg); …Run Code Online (Sandbox Code Playgroud)