Пользовательский LogEventLevel с Serilog - PullRequest
0 голосов
/ 24 апреля 2018

Я использую Serilog и Seq с проектом .Net. Моя главная цель - записать некоторые конкретные события. Я хотел бы иметь свой собственный уровень событий журнала (например, «Предупреждение», «Подробный», «Информация» ...). Но я на самом деле не знаю, возможно ли иметь мой собственный уровень журнала для этого:

private static readonly ILogger Logger = Log.ForContext<MyController>();
        .
        .
        .
Logger.MyCustomLogLevel(....);

Возможно ли это? Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Хотя пользовательские уровни невозможны, представьте, что вы хотите создать (логически), и Important уровень, который вы можете достичь почти одинаково с помощью:

static class LoggerExtensions
{
  public static void Important(
    this ILogger logger,
    string messageTemplate,
    params object[] args)
  {
    logger.ForContext("IsImportant", true)
      .Information(messageTemplate, args);
  }
}

Использование:

Logger.Important("Hello, {Name}!", "World");

In Seq:

IsImportant = true

Или:

select count(*) from stream where IsImportant limit 10
0 голосов
/ 24 апреля 2018

Serilog не поддерживает пользовательские уровни журнала.

...