2016-02-05 3 views
4

Я только что открыл Serilog, и мне это нравится. Тем не менее, я изо всех сил пытаюсь его прочитать из app.config.Как использовать ReadFrom.AppSettings в Serilog

Конфигурация Код:

ILogger logger = new LoggerConfiguration() 
    .ReadFrom.AppSettings() 
    //.MinimumLevel.Verbose() 
    .Enrich.WithProcessId() 
    .Enrich.WithThreadId() 
    .Enrich.WithMachineName() 
    .Destructure.UsingAttributes() 
    //.WriteTo.MSSqlServer(@"Server=EVDVWADBV1;Database=AppLog;Trusted_Connection=True;", "Logs") 
    .CreateLogger(); 
Log.Logger = logger; 

комментируемого из секции значения конфигурации, которые я хочу прочитать из файла конфигурации.

Файл конфигурации содержит:

<appSettings> 
    <add key="serilog:minimum-level" value="Verbose"/> 
    <add key="serilog:using" value="Serilog.Sinks.MSSqlServer"/> 
    <add key="serilog:write-to:MSSqlServer.connectionString" value="Server=EVDVWADBV1;Database=AppLog;Trusted_Connection=True;"/> 
    <add key="serilog:writeto:MSSqlServer.tableName" value="Logs"/> 
    <add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\myapp-{Date}.txt" /> 
    <add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" /> 
</appSettings> 

Я использую следующие пакеты Serilog.

<package id="Serilog" version="1.5.14" targetFramework="net452" /> 
<package id="Serilog.Sinks.MSSqlServer" version="3.0.41" targetFramework="net452" /> 

Я также добавил это как первую строку моего консольного приложения. Я не вижу никаких ошибок на консоли.

Serilog.Debugging.SelfLog.Out = Console.Out; 

Что мне не хватает?

+0

@NicholasBlumhardt - Ну, это было неловко сделать ошибку. Спасибо за второй комплект глаз. Угадайте, что пришло время для новых очков. Следите за хорошей работой над Serilog. Это фантастический инструмент. –

+0

Спасибо, Candi - рад возможности помочь! --Ник. –

ответ

1

Похоже, у вас может быть опечатка в конфигурации:

serilog:writeto:MSSqlServer.tableName 

Отсутствующие дефис:

serilog:write-to:MSSqlServer.tableName