2016-10-28 11 views
2

私はSerilog asp.net MVC 5で作業しています。すべて正常に動作しますが、コードの代わりにweb.configに設定を移動したいと思います。 データベース接続、ファイルパスを移動する必要があります。 また、私はデータベースとファイルの2つの異なるレベル1を指定しなければなりません。serilog AppSetting in web.config asp.net mvc 5

これはコード

var logFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"xxx.Web-{Environment.MachineName}.log"); 
      Log.Logger = new LoggerConfiguration() 
       .MinimumLevel.Debug() 
       .WriteTo.Trace(LogEventLevel.Debug, "{Timestamp:u} [{Level}] {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}") 
       .WriteTo.LiterateConsole(LogEventLevel.Debug, "{Timestamp:u} [{Level}] {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}") 
       .WriteTo.RollingFile(logFileName, LogEventLevel.Debug, 
        "{Timestamp:u} [{Level}] {MachineName} {SourceContext}:: {CorrelationId} {Message}{NewLine}{Exception}", 
        retainedFileCountLimit: 31, fileSizeLimitBytes: null) 
       .WriteTo.MSSqlServer(connectionString, "LogUsers", LogEventLevel.Information) 
       .Enrich.WithExceptionDetails() 
       .Enrich.With<HttpRequestIdEnricher>() 
       .Enrich.FromLogContext() 
       .CreateLogger(); 

P.S.ですconnectionString変数はweb.configから来ました。

私は非常にserilogに新しいので、私は本当に混乱しています。 できるだけ早く再生できるかどうかをご確認ください。

は、あなたがする必要がどのようなあなたに

答えて

3

に感謝のWeb.Config内appSettingsタグにSerilog情報を追加しています。

<add key="serilog:using:MSSqlSever" value="Serilog.Sinks.MSSqlServer" /> 
<add key="serilog:write-to:MSSqlServer.connectionString" value="nameOfConnectionString" /> 
<add key="serilog:write-to:MSSqlServer.tableName" value="Serilogs" /> 
<add key="serilog:write-to:MSSqlServer.autoCreateSqlTable" value="true" /> 

上記のコードは、SQLデータベースにログオンするのに役立ちます。

<add key="serilog:using:File" value="Serilog.Sinks.File" /> 
<add key="serilog:write-to:File.path" value="log.txt" /> 
<add key="serilog:write-to:File.fileSizeLimitBytes" value="" /> 

上記は、テキストファイルに書き込むのに役立ちます。
あなたのコードで何をしなければならないのかは、単にログ機能を呼び出すだけで、あなたが設定で指定したものに自動的に記録されます。

あなたはより多くの助けのためにこれらの2つのページを見てみたいことがあります。
https://github.com/serilog/serilog-sinks-mssqlserver
https://github.com/serilog/serilog-sinks-file