У меня может быть ответ (но было бы интересно услышать от кого-то, кто знает больше).
Я нашел следующий код в LogExtensions.cs:
static class LogExtensions
{
internal static readonly object[] EmptyParams = new object[0];
/// <summary>
/// Check if the <see cref="LogLevel.Debug"/> log level is enabled.
/// </summary>
/// <param name="logger">The <see cref="ILog"/> to check with.</param>
/// <returns>True if the log level is enabled; false otherwise.</returns>
public static bool IsDebugEnabled(this ILog logger)
{
GuardAgainstNullLogger(logger);
return logger.Log(LogLevel.Debug, null, null, EmptyParams);
}
/// <summary>
/// Check if the <see cref="LogLevel.Error"/> log level is enabled.
/// </summary>
/// <param name="logger">The <see cref="ILog"/> to check with.</param>
/// <returns>True if the log level is enabled; false otherwise.</returns>
public static bool IsErrorEnabled(this ILog logger)
{
GuardAgainstNullLogger(logger);
return logger.Log(LogLevel.Error, null, null, EmptyParams);
}
:
:
Похоже как будто проверки для «IsXXXEnabled ()» реализованы как фиктивные вызовы Log (), проверяющие возвращаемое значение. Если вы регистрируете ошибку и Log () возвращает false, это означает, что уровень ошибки не включен.
Так что все эти сообщения журнала в моих выходных данных, вероятно, являются просто тестами для включенных уровней журнала.