2016-06-13 3 views
1

appilename을 사용하여 Appilink의 싱크를 설정할 수 있다는 것을 알고 있습니다. (AppSettings 섹션) 스칼라 타입에서는 매우 간단하지만 복잡한 클래스에서는 IFormatProvider 기타.). 아무도 그 문제를 어떻게 처리해야 하는지를 알고 있는가? 전혀 가능하지 않은가? app.config 파일에서 Serilog의 formatProvider 속성을 설정하는 방법

나는이 예

ILogger logger = new LoggerConfiguration() 
    .Enrich.WithExceptionDetails() 
    .WriteTo.Sink(new RollingFileSink(
     @"C:\logs", 
     new JsonFormatter(renderMessage: true)) 
    .CreateLogger(); 

을 시뮬레이션하려고 만의 app.config 사용하고 있습니다.

답변

1

JsonRollingFile과 같은 것을 사용할 수 있습니다.

<configuration> 
    <appSettings> 
    <add key="serilog:using:Json" value="Serilog.Sinks.Json" /> 
    <add key="serilog:write-to:JsonRollingFile.pathFormat" value="C:\Logs\myapp-{Date}.jsnl" /> 
    </appSettings> 
</configuration> 
+0

안녕 @Nicholas Blumhardt의'JsonRollingFile' 싱크 이후 가 2.1 버전으로 쓸모가되었다 , 당신은 어떻게 appSettings는 구성을 사용하여 true로 JsonFormatter 속성 renderMessage을 설정할 수 있습니까? 이렇게 시도했지만 작동하지 않았습니다.

+0

안녕하세요 마이클 - 도움이 될만한 예제가 있습니다. https://github.com/serilog/serilog-serilog-formatting-compact#getting-started –

+0

안녕하세요 @Nicholas Blumhardt, 내가 볼 수있는 한 'CompactJsonFormatter'입니다. 그러나'renderMessage' 매개 변수를 true로 설정하여 일반'JsonFormatter'를 사용하려고합니다. appsettings.config를 사용하여 예제를 찾을 수 없습니다. 내가 여기서 뭔가를 놓치고 있니? XML 설정을 통해이 매개 변수를 설정할 수 있습니까? –

관련 문제