방명록
- [WPF] Serilog appsettings.json 옵션 값 설명2024년 02월 02일 17시 12분 51초에 업로드 된 글입니다.작성자: 코딩백구반응형
WPF 프로젝트에서 serilog 를 사용해서 로그 기능을 구현하는 중인데, json을 사용해서 option을 설정하는 방법이 잘 안나와있는것 같아서 정리해보았습니다.
저는 serilog-settings-configuration 을 사용해서 설정해주었습니다.
{ "Log": { "Serilog": { "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], // MinimumLevel : Log Level을 설정 "MinimumLevel": "Debug", // WriteTo : Log를 어디에 출력할지 설정 "WriteTo": [ // Console Log { "Name": "Console", // Args : Console Log에 출력할 형식을 설정 // outputTemplate : Log에 출력할 형식을 설정 // {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} : Log가 출력된 시간 포맷을 설정 // {Environment} : Log가 출력된 환경을 설정 // {Application} : Log가 출력된 Application을 설정 // {MachineName} : Log가 출력된 MachineName을 설정 // {Level:u3} : Log Level을 설정 (u3 : UpperCase 3자리) // {Message:lj} : Log Message를 설정 (lj : Left Justify) // {NewLine} : 줄바꿈 // {Exception} : Exception을 설정 "Args": { "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Environment}] [{Application}] [{MachineName}] [{Level:u3}] {Message:lj}{NewLine}{Exception}" } }, // File Log { "Name": "File", "Args": { // Save File Path "path": "Logs/log.txt", // Minute / Hour / Day / Month / Year / Infinite "rollingInterval": "Day", // File Count / Unlimited - null "retainedFileCountLimit": 31, // File Size "fileSizeLimitBytes": 10485760 } } ], // Enrich : Log에 추가적인 정보를 넣겠다는 의미. // WriteTo => Args => outputTemplate 에서 출력할 변수를 추가할 수 있다. // FromLogContext : LogContext에 있는 정보를 모든 Log 출력 시, 추가하겠다는 의미. // WithMachineName : 현재 MachineName을 LogContext에 추가 (추가 안하면 Properties 에서 설정한 MachineName 으로 출력) // WithThreadId : ThreadId를 LogContext에 추가 "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ], // Destructure : Log에 출력되는 객체의 Depth를 설정 "Destructure": [ { // ToMaximumDepth : 객체의 Depth를 설정 // Ex) { "a": { "b": { "c": { "d": { "e": "f" } } } } } => { "a": { "b": { "c": { "d": "..." } } } } "Name": "ToMaximumDepth", "Args": { "maximumDestructuringDepth": 4 } }, { // ToMaximumStringLength : 문자열의 길이를 설정 // 문자열의 길이가 설정한 길이보다 길면 설정한 길이만큼만 출력하고 뒤애 ... 을 붙인다. // Ex) "1234567890" => "1234567890..." "Name": "ToMaximumStringLength", "Args": { "maximumStringLength": 100 } }, { // ToMaximumCollectionCount : 컬렉션의 길이를 설정 // 컬렉션의 길이가 설정한 길이보다 길면 설정한 길이만큼만 출력하고 뒤애 ... 을 붙인다. // Ex) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10...] "Name": "ToMaximumCollectionCount", "Args": { "maximumCollectionCount": 10 } } ], // Properties : Log에 추가적인 정보를 넣겠다는 의미. "Properties": { "Application": "Rl_AMS_UI", "Environment": "Development", "MachineName": "Local" } } } }
반응형'WPF' 카테고리의 다른 글
[WPF] WPF Serilog 사용해서 Log 세팅하기 (0) 2024.02.01 다음글이 없습니다.이전글이 없습니다.댓글