여기에는 Serilog 와 같은 타사 프레임 워크가 필요 하지만 그럼에도 불구하고 볼 수있는 곳으로 출력 하는 것이 매우 부드러운 경험 이라는 것을 알았 습니다.
먼저 Serilog의 Trace sink 를 설치해야합니다 . 일단 설치되면 다음과 같이 로거를 설정해야합니다.
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.CreateLogger();
다른 최소 레벨을 설정하거나 구성 값 또는 일반 Serilog 기능으로 설정할 수 있습니다. Trace
구성을 대체 하도록 로거를 특정 레벨로 설정 하거나이를 수행 할 수도 있습니다.
그런 다음 메시지를 정상적으로 기록하면 출력 창에 표시됩니다.
Logger.Information("Did stuff!");
이것은 큰 문제는 아닌 것 같으므로 몇 가지 추가 장점을 설명하겠습니다. 나에게 가장 큰 것은 출력 창과 콘솔에 동시에 로그인 할 수 있다는 것입니다 .
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.WriteTo.Console(standardErrorFromLevel: LogEventLevel.Error)
.CreateLogger();
이 모든 내 전화를 복제 할 필요없이, 내게 출력을 소비하는 방법의 측면에서 유연성을 주었다 Console.Write
와 Debug.Write
. 코드를 작성할 때 Visual Studio에서 명령 줄 도구를 실행할 때 출력이 종료 될 때 출력을 잃을 염려없이 실행할 수있었습니다. 배포하고 무언가를 디버깅해야하고 Visual Studio를 사용할 수 없었을 때 콘솔 출력을 쉽게 사용할 수있었습니다. 예약 된 작업으로 실행될 때 동일한 메시지를 파일 (또는 다른 종류의 싱크)에 기록 할 수도 있습니다.
결론은 Serilog를 사용하여 여러 대상에 메시지를 덤프하는 것이 매우 쉬워서 실행 방법에 관계없이 항상 출력에 쉽게 액세스 할 수 있다는 것입니다.
또한 최소한의 설정 및 코드가 필요합니다.
Debug.WriteLine()