Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat 형식과 ConsoleLoggerOptions의 일부 속성이 이제 구식임을 알립니다.
변경 내용 설명
.NET 5부터는 Microsoft.Extensions.Logging.Console.ConsoleLoggerFormat 형식 및 여러 속성 ConsoleLoggerOptions 이 사용되지 않습니다. 사용되지 않는 속성은 다음과 같습니다.
- ConsoleLoggerOptions.DisableColors
- ConsoleLoggerOptions.IncludeScopes
- ConsoleLoggerOptions.TimestampFormat
- ConsoleLoggerOptions.UseUtcTimestamp
- ConsoleLoggerOptions.Format
새 포맷터가 도입되면서 이러한 속성은 이제 개별 포맷터에서 사용할 수 있습니다.
변경 이유
속성은 Format 사용자 지정 포맷터를 나타낼 수 없는 열거형 형식입니다.
나머지 속성은 콘솔 로그에 대한 기본 제공 형식 모두에 ConsoleLoggerOptions 설정되고 적용되었습니다. 그러나 새 포맷터 API가 도입되면 포맷터별 옵션에서 서식을 나타내는 것이 더 적합합니다. 이렇게 변경하면 로거와 로거 포맷터를 더 잘 분리할 수 있습니다.
도입된 버전
5.0
권장 작업
ConsoleLoggerOptions.FormatterName 속성 대신 새 ConsoleLoggerOptions.Format 속성을 사용합니다. 다음은 그 예입니다.
loggingBuilder.AddConsole(options => { options.FormatterName = ConsoleFormatterNames.Systemd; });
다음과 같은 몇 가지 차이점이 있습니다.FormatterNameFormat
-
Format에는 가능한 두 가지 옵션만 있습니다:
Default
과Systemd
. -
FormatterName 는 대/소문자를 구분하지 않으며 모든 문자열일 수 있습니다. 예약된 기본 제공 이름은
Simple
,Systemd
,Json
입니다 (.NET 5 이상). -
"Format": "Systemd"
는"FormatterName": "Systemd"
에 매핑됩니다. -
"Format": "Default"
는"FormatterName": "Simple"
에 매핑됩니다.
-
Format에는 가능한 두 가지 옵션만 있습니다:
DisableColors, IncludeScopes, TimestampFormat, 및 UseUtcTimestamp 속성의 경우 새 ConsoleFormatterOptions, JsonConsoleFormatterOptions, 또는 SimpleConsoleFormatterOptions 유형에서 해당 속성을 대신 사용하세요. 예를 들어 ConsoleLoggerOptions.DisableColors에 해당하는 설정은 SimpleConsoleFormatterOptions.ColorBehavior입니다.
이전 코드:
loggingBuilder.AddConsole(options => { options.DisableColors = true; });
새 코드:
loggingBuilder.AddSimpleConsole(options => { options.ColorBehavior = LoggerColorBehavior.Disabled; });
다음 두 JSON 코드 조각은 구성 파일이 어떻게 변경되는지 보여줍니다. 이전 구성 파일:
{
"Logging": {
"LogLevel": {
"Default": "None",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"Console": {
"LogLevel": {
"Default": "Information"
},
"Format": "Systemd",
"IncludeScopes": true,
"TimestampFormat": "HH:mm:ss",
"UseUtcTimestamp": true
}
},
"AllowedHosts": "*"
}
새 구성 파일:
{
"Logging": {
"LogLevel": {
"Default": "None",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"Console": {
"LogLevel": {
"Default": "Information"
},
"FormatterName": "Systemd",
"FormatterOptions": {
"IncludeScopes": true,
"TimestampFormat": "HH:mm:ss",
"UseUtcTimestamp": true
}
}
},
"AllowedHosts": "*"
}
영향을 받는 API
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.DisableColors
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.IncludeScopes
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.TimestampFormat
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.UseUtcTimestamp
- Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions.Format
.NET