Я использую Serilogs
для ведения журнала и CompactJsonFormatter
для форматирования.Вывод в журналах (здесь для лучшей читаемости):
{
"@t": "2018-12-03",
"@mt": "{@Diagnostic}",
"Diagnostic": {
"ShutdownReason": "HostingEnvironment",
"Timestamp": "2018-12-03",
"MachineName": "local",
"AdditionalInfo": {},
"$type": "IqhApplicationEndEvent"
}
}
Как видно из журналов, имя класса $type":"IqhApplicationEndEvent"
отображается в конце.Как я могу отформатировать это, чтобы быть первым свойством в журналах?До "ShutdownReason":"HostingEnvironment"
.Также $type
генерируется автоматически, как я могу изменить это имя на другое?
ILogger:
public void WriteAudit(DiagnosticTest diagnostic)
{
_Logger?.Write(LogEventLevel.Information, "{@Diagnostic}", diagnostic);
}
public static void AddRollingFileConfiguration(this LoggerConfiguration loggerConfiguration,
LogConfigurationElement configurationSettings)
{
if (configurationSettings.LogType == LogType.RollingFile)
if (configurationSettings.Async)
loggerConfiguration.WriteTo.Async(
a => a.RollingFileAlternate(
new CompactJsonFormatter(),
configurationSettings.LogDirectory,
fileSizeLimitBytes: configurationSettings.FileSizeLimitBytes,
retainedFileCountLimit: configurationSettings.RetainedFileCountLimit
)
);
}