2014-04-30 12 views
5

Rejestrowanie śledzenia WCF wydaje się nie działać w jednej z moich usług Windows wcf. Użyłem tej samej konfiguracji w innych usługach i działało to w przeszłości. Jestem zaskoczony w tym momencie. Oto konfiguracja że mam:Rejestrowanie śledzenia WCF nieprodukujące plików dziennika

<?xml version="1.0"?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 

    <system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel.MessageLogging" 
       switchValue="Information, ActivityTracing"> 
     <listeners> 
      <add name="traceListener" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="C:\ProgramData\Bastian Software\Logs\ExactaManifest\Messages.svclog" /> 
     </listeners> 
     </source> 
     <source name="System.ServiceModel" 
       switchValue="Information, ActivityTracing"> 
     <listeners> 
      <add name="traceListener" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="C:\ProgramData\Bastian Software\Logs\ExactaManifest\WCF.svclog" /> 
     </listeners> 
     </source> 
    </sources> 

    <trace autoflush="true" /> 
    </system.diagnostics> 
    <system.serviceModel> 
    <diagnostics performanceCounters="All"> 
     <messageLogging 
     logMessagesAtTransportLevel="true" 
     logMessagesAtServiceLevel="false" 
     logMalformedMessages="true" 
     logEntireMessage="true" 
     maxSizeOfMessageToLog="2147483647" maxMessagesToLog="25000" /> 
    </diagnostics> 
    </system.serviceModel> 

</configuration> 

To nie wydaje się być problem uprawnienia, bo tworzone ręcznie folder i plik z tego samego użytkownika, że ​​usługa jest uruchomiona pod. Także ja widzę idąc w podglądzie zdarzeń związanych z tym wcf rejestrowania Ślad:

enter image description here

Wszelkie sugestie?

+1

Jakiego błędu nie dostaniesz, czy skąd wiesz, że nie śledzi? – Greg

+0

@Greg Pliki svclog nie są tworzone w ścieżkach określonych w pliku konfiguracyjnym. Uruchomiłem usługę i wykonałem kilka połączeń z nią i nie generowałem żadnych svclogów. –

+0

Czy masz już informacje, więc mogę Ci pomóc? – Greg

Odpowiedz

10

Pliki dziennika będą tworzone tylko wtedy, gdy katalog określony w konfiguracji wcześniej istnieje; to więcej niż tylko uprawnienia do tworzenia pliku dziennika. Zobacz tę sekcję Nota MSDN article:

plików śledzenia nie są tworzone bez początkowo tworzenia katalogu dziennika. Upewnij się, że katalog C: \ logs \ istnieje, lub podaj alternatywny katalog rejestrowania w konfiguracji odbiornika.

2

Na podstawie Twojego komentarza "nie generuje żadnych svclogs" prowadzi mnie do przekonania, że ​​problem jest związany z Twoimi uprawnieniami. Jeśli używasz Windows 8 Visual Studio będzie musiał zostać otwarty jako administrator. Jeśli tego nie zrobisz, nie wygeneruje żadnych plików dziennika śledzenia.

Niektóre inne przedmioty można sprawdzić:

  • Zastosowanie basen jest zdolny do odczytu/zapisu do katalogu projektu (karta Zabezpieczenia).
  • Usługa ma przypisaną odpowiednią pulę aplikacji do manipulowania katalogiem projektu.

Zakładam, że jest on hostowany za pośrednictwem Internet Information System (IIS) lub debugowany przez Visual Studio. Jeden z nich powinien, mam nadzieję, rozwiązać problem.

W sieci deweloperów Microsoftu faktycznie dodają ważną informację o uruchomieniu jako administrator w systemie Windows 8 ze względu na to, jak często jest ona pomijana.

+0

To nie jest hostowane w IIS. Jest to usługa windowsowa wc.tcp Windows. W rzeczywistości używam systemu Windows 8, ale moja instancja Visual Studio działała w trybie administratora. –

+0

Próbowałem także uruchomić to jako aplikację konsolową, a studio graficzne działa jako administrator z tym samym wynikiem. Nie .svclogs z tą samą wiadomością opisaną powyżej w przeglądarce zdarzeń. –

+0

@ColeW Postaram się o tym pomyśleć, doszedłem do wniosku, że zaczynam być prosty, zanim stanie się on bardziej skomplikowany. – Greg

Powiązane problemy