LoggingEventSource 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
- 상속
- 특성
예제
다음 예제에서는 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]);
}
}
설명
라는 Microsoft-Extensions-Logging
EventSource를 사용하도록 설정하여 이 로깅을 켭니다.
EventSource를 사용하도록 설정하면 설정한 EventLevel이 ILogger와 연결된 수준으로 명확하게 변환됩니다(따라서 Debug = verbose, Informational = Informational ... Critical == Critical)
이렇게 하면 이벤트 수준별로 간단히 필터링할 수 있습니다.
더 세부적인 제어를 위해 이라는 FilterSpecs
EventSource 인수를 지정할 수 있습니다.
인수는 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의 이름입니다(대/소문자). Name에는 와일드카드 AS A 접미사 역할을 하는 *가 있을 수 있습니다. 따라서 Net*은 'Net'으로 시작하는 모든 로거와 일치합니다.
LEVEL은 숫자 또는 LogLevel 문자열입니다. 0=Trace, 1=Debug, 2=Information, 3=Warning, 4=Error, Critical=5 연결된 패턴의 수준을 지정합니다. 숫자를 지정하지 않은 경우 (사양의 첫 번째 양식) EventSource의 기본 수준입니다.
특정 이름이 둘 이상의 패턴과 일치하는 경우 처음 일치하는 항목이 사용됩니다.
level 및 FilterSpec 인수 외에도 EventSource 키워드를 설정할 수도 있습니다. 아래 키워드 정의를 참조하세요. 기본적으로 원하는 경우 직접 결정할 수 있습니다.
- Keywords.Message - 구문 분석된 형식의 데이터로 이벤트를 가져옵니다.
- Keywords.JsonMessage - 구문 분석 형식이지만 JSON Blob으로 데이터를 사용하여 이벤트를 가져옵니다(인수로 구분되지 않음...)
- Keywords.FormattedMessage - 데이터 형식이 문자열인 이벤트를 가져옵니다.
이러한 키워드 중 하나만 한 번에 켜야 하지만 모두 켜고 동일한 데이터를 세 가지 방법으로 기록할 수 있습니다.
속성
ConstructionException |
이벤트 소스 생성 중에 throw된 모든 예외를 가져옵니다. (다음에서 상속됨 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) |
적용 대상
.NET