2017-09-17 18 views
0

사용자 지정 WCF LOB 어댑터를 만들었습니다. 그리고 Trace 클래스를 사용하고 있습니다. BizTalk Server에서 해당 어댑터의 로그를 Windows 이벤트 로그에 쓰길 원합니다.system.diagnostics를 사용하여 Windows 이벤트 로그에 로깅을 추가하는 방법

아래 섹션을 BizTalk 호스트 구성 파일에 추가 할 때 BizTalk가 시작되지 않습니다. 그게 뭐가 잘못 되었 니?

<system.diagnostics> 
    <trace autoflush="true"> 
    <sources> 
    <source name="AzureServiceBusClient" switchValue="Verbose, ActivityTracing"> 
     <listeners> 
     <add name="AzureServiceBusTraceListener" /> 
     </listeners> 
    </source> 
    </sources> 
    <sharedListeners> 
     <add name="AzureServiceBusTraceListener" type="System.Diagnostics.EventLogTraceListener" initializeData="BizTalk Server" />  
    </sharedListeners> 
</trace> 
</system.diagnostics> 

이 내 추적 클래스가 코드에서 생성하는 방법이다 : 당신이 그들을 가지고

// 
// Initializes a new instane of Microsoft.ServiceModel.Channels.Common.AdapterTrace using the specified name for the source 
// 
static AdapterTrace trace = new AdapterTrace("AzureServiceBusClient"); 
+0

에서

예를 아래
<system.diagnostics> <trace autoflush="true" /> <sources> <source name="AzureServiceBusClient" switchValue="Verbose, ActivityTracing"> <listeners> <add name="AzureServiceBusTraceListener" /> </listeners> </source> </sources> <sharedListeners> <add name="AzureServiceBusTraceListener" type="System.Diagnostics.EventLogTraceListener" initializeData="BizTalk Server" /> </sharedListeners> </system.diagnostics> 

당신은 Windows 이벤트 로그에 오류를받을 수 있나요? 또한 Windows 이벤트 로그로 보내려고하지만 Azure Service Bus 추적 수신기를 사용하고있는 것으로 보입니다.이 불일치를 설명 할 수 있습니까? – Dijkgraaf

+0

리스너는'initializeData = "BizTalk Server"가 아닌'initializeData = "TraceListenerLog"가되어야합니까? – Dijkgraaf

+0

당신은 명확히 할 수 있습니까? WCF 사용자 지정과 함께 사용할 사용자 지정 바인딩을 작성 했습니까, 아니면 기존 어댑터/바인딩에서 이벤트 로그 이벤트 쓰기를 추가하려고합니까? –

답변

2

소식통은 별도의 추적에 항목이 아닌 중첩해야합니다. 추적 태그 자체를 종료하는 것을 잊어 버린 다음 끝 태그를 추가하여 유효하지 않게 만들었어야한다고 생각합니다.

아래와 같이 수정하면 BizTalk가 시작되지 않는 것으로 수정 될 것입니다. 당신이 호스트 인스턴스를 시작하려고 할 때 Diagnostic Tracing and Message Logging

<system.diagnostics> 
    <sources> 
     <source name ="System.ServiceModel" switchValue="Verbose"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
     <source name ="System.ServiceModel.MessageLogging" 
       switchValue="Verbose, ActivityTracing">   
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
     <source name ="System.Runtime.Serialization" switchValue="Verbose"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
    </sources> 
    <sharedListeners> 
     <add name="xml" type="System.Diagnostics.XmlWriterTraceListener"    
      traceOutputOptions="LogicalOperationStack" 
      initializeData="C:\log\WCFTrace.svclog" /> 
    </sharedListeners> 
    <trace autoflush="true" /> 
    </system.diagnostics> 
    <system.serviceModel> 
    <diagnostics> 
     <messageLogging 
      logEntireMessage="true" 
      logMalformedMessages="false" 
      logMessagesAtServiceLevel="true" 
      logMessagesAtTransportLevel="false"/> 
    </diagnostics>  
    </system.serviceModel>