2011-12-15 6 views
2

엔터프라이즈 라이브러리 5.0 사용 로깅을 사용하는 유일한 블록 인 .NET 4.0 로깅 블록 호출 스택, 어셈블리 이름 및 라인 번호 호출 정보를 사용자 정의하려고했습니다. 그래서 몇 가지 항목을 내가 만든 포매터를 텍스트로 가서 추가 :엔터프라이즈 라이브러리 5.0 로깅 블록 사용자 정의

Method: {property(MethodName)}{newline} 
Call Stack:{property(CallStack)} 

그래서 일치하는 텍스트 포맷터 설정 파일 항목은 이제 다음과 같습니다 후 :

<formatters> 
     <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      template="Timestamp: {timestamp} &#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}{newline}&#xA;Method: {property(MethodName)}{newline}&#xA;Call Stack:{property(CallStack)}" 
      name="Text Formatter" /> 
    </formatters> 

당신이 볼 수있는 새로운 추가 항목에 그곳에. 내가 그것을 실행할 때 내 로그 항목은 다음과 같이 : 그 특성이 기록보고 할 필요가 무엇을

---------------------------------------- 
Timestamp: 12/15/2011 9:51:48 PM 
Message: Starting up the application 

Category: General 

Priority: -1 

EventId: 0 

Severity: Information 

Title: 

Machine: HCCLI066 

App Domain: WindowsFormsApplicationTest1.vshost.exe 

ProcessId: 2488 

Process Name: C:\Projects\WindowsFormsApplicationTest1\bin\Debug\WindowsFormsApplicationTest1.vshost.exe 

Thread Name: 

Win32 ThreadId:2636 

Extended Properties: 

Method: <Error: property MethodName not found> 

Call Stack:<Error: property CallStack not found> 

있습니까? 예를 들어 "행 번호"와 같이 완전히 사용자 정의 된 속성을 추가하려면 어떻게합니까?

+1

안녕하세요, 빅터 텍스트 포맷터를 사용하여 호출 스택 정보를 표시하려면이 문제를 어떻게 해결했는지 설명해주십시오. 감사합니다. –

답변

관련 문제