Serilog с выражением фильтраC#

Место общения программистов C#
Ответить
Anonymous
 Serilog с выражением фильтра

Сообщение Anonymous »

Я обновляю свое устаревшее приложение для использования Serilog. это приложение asp.net C# webForms .NET 4.8.
Идея такова:
  • всего их 3 будут настроены приемники... Файл, События и БД
  • по умолчанию все журналы с минимальным уровнем информации должны поступать в БД и средство просмотра событий.
    < li>Подробный журнал будет сохранен в файле.
  • Ниже представлена ​​добавленная мною конфигурация.
  • Эта конфигурация записывает журналы во все три приемника и не фильтрует подробные журналы для файлового приемника.
    />
  • Файл журнала содержит все журналы, такие же, как база данных и средство просмотра событий.
  • Условие фильтра работает нормально, если оно добавлено из кода... а не из конфигурации JSON.
Есть идеи, чего не хватает здесь.
{
"Serilog": {
"Using": [ "Serilog.Sinks.File", "Serilog.Sinks.MSSqlServer", "Serilog.Settings.Configuration", "Serilog.Sinks.EventLog", "Serilog.Expressions" ],
"MinimumLevel": {
"Default": "Verbose", // Default logging level
"Override": {
"Microsoft": "Warning", // Override for specific namespaces
"System": "Warning"
}
},
"WriteTo": [
{
"Name": "MSSqlServer",
"Args": {
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception}",
"restrictedToMinimumLevel": "Information",
"connectionString": "",
"tableName": "SystemLogEvents",
"autoCreateSqlTable": true
}
},
{
"Name": "File",
"Args": {
"path": "Logs/filtered_logs.log", // Specify the file path
"rollingInterval": "Day", // Log rotation interval
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}"
},
"Filter": [
{
"Name": "ByIncludingOnly",
"Args": {
"expression": "@l = 'Verbose'" // Filter criteria
}
}
]
},
{
"Name": "EventLog",
"Args": {
"restrictedToMinimumLevel": "Information",
"source": "MyApp",
"manageEventSource": true,
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception}"
}
}
]
}
}


Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration) // Use the configuration object
//.Filter.ByIncludingOnly(x=>x.Level == LogEventLevel.Verbose)
.CreateLogger();



Подробнее здесь: https://stackoverflow.com/questions/793 ... expression
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»