LoggingEventSource Класс

Определение

Класс LoggingEventSource является связующим звеном между всеми журналами на основе ILogger и журналами на основе EventSource и EventListener.

public ref class LoggingEventSource sealed : System::Diagnostics::Tracing::EventSource
[System.Diagnostics.Tracing.EventSource(Name="Microsoft-Extensions-Logging")]
public sealed class LoggingEventSource : System.Diagnostics.Tracing.EventSource
[<System.Diagnostics.Tracing.EventSource(Name="Microsoft-Extensions-Logging")>]
type LoggingEventSource = class
    inherit EventSource
Public NotInheritable Class LoggingEventSource
Inherits EventSource
Наследование
LoggingEventSource
Атрибуты

Примеры

В следующем примере показано, как использовать EventListener для получения сведений об ILogging:

class MyEventListener : EventListener 
{
    protected override void OnEventSourceCreated(EventSource eventSource) 
    {
        if (eventSource.Name == "Microsoft-Extensions-Logging") 
        {
            // initialize a string, string dictionary of arguments to pass to the EventSource.
            // Turn on loggers matching App* to Information, everything else (*) is the default level (which is EventLevel.Error)
            var args = new Dictionary<string, string>() { { "FilterSpecs", "App*:Information;*" } };
            // Set the default level (verbosity) to Error, and only ask for the formatted messages in this case.
            EnableEvents(eventSource, EventLevel.Error, LoggingEventSource.Keywords.FormattedMessage, args);
        }
    }

    protected override void OnEventWritten(EventWrittenEventArgs eventData) 
    {
        // Look for the formatted message event, which has the following argument layout (as defined in the LoggingEventSource.
        // FormattedMessage(LogLevel Level, int FactoryID, string LoggerName, string EventId, string FormattedMessage);
        if (eventData.EventName == "FormattedMessage")
            Console.WriteLine("Logger {0}: {1}", eventData.Payload[2], eventData.Payload[4]);
    }
}

Комментарии

Чтобы включить этот вход, включив EventSource с именем Microsoft-Extensions-Logging.

Если вы включили EventSource, заданный eventLevel преобразуется очевидным образом на уровень, связанный с ILogger (таким образом, Debug = verbose, Информационный = Информационный ... Critical == Critical)

Это позволяет без лишних усилий выполнять фильтрацию по уровню событий.

Для более точного управления можно указать аргумент EventSource с именем FilterSpecs.

Аргумент FilterSpecs представляет собой список спецификаций, разделенный точкой с запятой. Каждая спецификация имеет следующий вид:

SPEC =                          // empty spec, same as *
     | NAME                     // Just a name the level is the default level
     | NAME : LEVEL            // specifies level for a particular logger (can have a * suffix).

Где Name — это имя ILogger (имеет значение case), Name может иметь символ *, который выступает в качестве подстановочного знака AS A SUFFIX. Таким образом, Net* будет соответствовать любым средствам ведения журнала, которые начинаются с "Net".

LEVEL — это число или строка LogLevel. 0=трассировка, 1=отладка, 2=информация, 3=предупреждение, 4=ошибка, критическая=5. Определяет уровень связанного шаблона. Если номер не указан (первая форма спецификации), используется уровень по умолчанию для источника событий.

Если имени соответствуют несколько шаблонов, используется первое совпадение.

Помимо аргументов level и FilterSpec, можно также задать ключевые слова EventSource. Полное определение ключевых слов приведено ниже, однако, как правило, необходимо определить следующие ключевые слова:

  • Keywords.Message — событие получается с данными в проанализированном виде.
  • Keywords.JsonMessage — вы получаете событие с данными в форме синтаксического анализа, но в виде большого двоичного объекта JSON (не разбитого по аргументу ...)
  • Keywords.FormattedMessage — вы получаете событие с данными, отформатированными в виде строки.

Ожидается, что вы будете включать только одно из этих ключевых слов одновременно, но вы можете включить их все и получить одни и те же данные регистрируются тремя разными способами.

Свойства

ConstructionException

Возвращает любое исключение, инициированное во время создания источника событий.

(Унаследовано от EventSource)
Guid

Уникальный идентификатор источника события.

(Унаследовано от EventSource)
Name

Понятное имя класса, производного от источника события.

(Унаследовано от EventSource)
Settings

Возвращает параметры, применяемые к этому источнику события.

(Унаследовано от EventSource)

Методы

Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса EventSource.

(Унаследовано от EventSource)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом EventSource (при необходимости освобождает и управляемые ресурсы).

(Унаследовано от EventSource)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetTrait(String)

Получает значение признака, связанное с заданным ключом.

(Унаследовано от EventSource)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsEnabled()

Определяет, включен ли источник текущего события.

(Унаследовано от EventSource)
IsEnabled(EventLevel, EventKeywords)

Указывает, включен ли источник текущего события, который имеет заданный уровень и ключевое слово.

(Унаследовано от EventSource)
IsEnabled(EventLevel, EventKeywords, EventChannel)

Определяет, включен ли текущий источник для событий с указанным уровнем, ключевыми словами и каналом.

(Унаследовано от EventSource)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnEventCommand(EventCommandEventArgs)

Вызывается, когда источник текущего события обновляется контроллером.

(Унаследовано от EventSource)
ToString()

Получает строковое представление текущего экземпляра источника события.

(Унаследовано от EventSource)
Write(String)

Записывает событие без полей, но с указанным именем и параметрами по умолчанию.

(Унаследовано от EventSource)
Write(String, EventSourceOptions)

Записывает событие без полей, но с указанными именем и параметрами.

(Унаследовано от EventSource)
Write<T>(String, EventSourceOptions, Guid, Guid, T)

Записывает событие с указанными именем, параметрами, связанным действием и данными.

(Унаследовано от EventSource)
Write<T>(String, EventSourceOptions, T)

Записывает событие с указанными именем, данными и параметрами.

(Унаследовано от EventSource)
Write<T>(String, EventSourceOptions, T)

Записывает событие с указанными именем, параметрами и данными.

(Унаследовано от EventSource)
Write<T>(String, T)

Записывает событие с указанными именем и данными.

(Унаследовано от EventSource)
WriteEvent(Int32)

Записывает событие, используя предоставленный идентификатор события.

(Унаследовано от EventSource)
WriteEvent(Int32, Byte[])

Записывает событие, используя предоставленные идентификатор события и аргумент в виде массива байтов.

(Унаследовано от EventSource)
WriteEvent(Int32, EventSource+EventSourcePrimitive[])

Записывает событие с помощью предоставленного идентификатора события и переменного числа примитивов источника событий.

(Унаследовано от EventSource)
WriteEvent(Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и 32-разрядный целочисленный аргумент.

(Унаследовано от EventSource)
WriteEvent(Int32, Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, Int32, Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, Int32, String)

Записывает событие, используя предоставленный идентификатор, а также строковые и 32-разрядные целочисленные аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, Int64)

Записывает событие, используя предоставленные идентификатор события и 64-разрядный целочисленный аргумент.

(Унаследовано от EventSource)
WriteEvent(Int32, Int64, Byte[])

Записывает данные события, используя указанный идентификатор, а также 64-разрядные целочисленные аргументы и аргументы в виде массива байтов.

(Унаследовано от EventSource)
WriteEvent(Int32, Int64, Int64)

Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, Int64, Int64, Int64)

Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, Int64, String)

Записывает событие, используя предоставленный идентификатор, а также строковые и 64-разрядные целочисленные аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, Object[])

Записывает событие, используя предоставленные идентификатор события и массив аргументов.

(Унаследовано от EventSource)
WriteEvent(Int32, String)

Записывает событие, используя предоставленные идентификатор события и строковый аргумент.

(Унаследовано от EventSource)
WriteEvent(Int32, String, Int32)

Записывает событие, используя предоставленные идентификатор события и аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, String, Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, String, Int64)

Записывает событие, используя предоставленные идентификатор события и аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, String, String)

Записывает событие, используя предоставленные идентификатор события и строковые аргументы.

(Унаследовано от EventSource)
WriteEvent(Int32, String, String, String)

Записывает событие, используя предоставленные идентификатор события и строковые аргументы.

(Унаследовано от EventSource)
WriteEventCore(Int32, Int32, EventSource+EventData*)

Создает перегрузку WriteEvent с помощью предоставленных идентификатора и данных события.

(Унаследовано от EventSource)
WriteEventWithRelatedActivityId(Int32, Guid, Object[])

Записывает событие, которое указывает, что текущее действие связано с другим действием.

(Унаследовано от EventSource)
WriteEventWithRelatedActivityIdCore(Int32, Guid*, Int32, EventSource+EventData*)

Записывает событие, которое указывает, что текущее действие связано с другим действием.

(Унаследовано от EventSource)

События

EventCommandExecuted

Происходит, когда команда поступает от прослушивателя событий.

(Унаследовано от EventSource)

Применяется к