2016-10-28 14 views
2

나는 Serilog asp.net MVC 5에서 일하고있다. 모든 것이 잘 작동하지만 코드 대신 web.config로 설정을 옮기고 싶다. 데이터베이스 연결, 파일 경로를 이동해야합니다. 또한 데이터베이스와 파일 각각에 대해 서로 다른 두 가지 레벨을 지정해야합니다. 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에 매우 익숙하다. 그래서 나는 정말로 혼란 스럽다. 가능한 한 빨리 재생할 수 있는지 확인하십시오.

은 무엇 당신이해야 할 것은있는 Web.Config 내 appSettings 태그에 Serilog 정보를 추가 당신

답변

3

감사합니다.

<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="" /> 

위의 내용은 텍스트 파일에 쓰는 데 도움이됩니다.
코드에서 수행해야하는 모든 작업은 log 함수를 호출하기 만하면 구성에서 지정한 내용으로 자동으로 로그됩니다.

당신은 더 도움이 두 페이지를보고 할 수 있습니다 :
https://github.com/serilog/serilog-sinks-mssqlserver
https://github.com/serilog/serilog-sinks-file