2010-06-24 5 views
1

Je travaille sur la migration d'un site d'IIS 6 vers IIS 7 et je ne parviens pas à voir tous mes journaux. Ma configuration system.diagnostics est la suivante:La journalisation de traçage de diagnostic ne fonctionne pas lorsqu'elle est déployée sur IIS 7

<system.diagnostics> 
    <trace autoflush="true"></trace> 
    <sources> 
    <source name="Assembly1" switchValue="All"> 
     <listeners> 
     <add name="DiagnosticMessageTraceListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      traceOutputOptions="ProcessId, ThreadId, DateTime" 
      initializeData="E:\Inetpub\logs\App\Assembly1.log" /> 
     </listeners> 
    </source> 
    <source name="Assembly2" switchValue="All"> 
     <listeners> 
     <add name="DiagnosticMessageTraceListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      traceOutputOptions="ProcessId, ThreadId, DateTime" 
      initializeData="E:\Inetpub\logs\App\Assembly2.log" /> 
     </listeners> 
    </source> 
    <source name="Assebly3" switchValue="All"> 
     <listeners> 
     <add name="DiagnosticMessageTraceListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      traceOutputOptions="ProcessId, ThreadId, DateTime" 
      initializeData="E:\Inetpub\logs\App\Assembly3.log" /> 
     </listeners> 
    </source> 
    <source name="System.ServiceModel" switchValue="All" propagateActivity="true"> 
     <listeners> 
     <add name="DiagnosticMessageTraceListener" 
      type="System.Diagnostics.XmlWriterTraceListener" 
      initializeData="E:\Inetpub\logs\App\ServiceTrace.svclog" /> 
     </listeners> 
    </source> 
    <source name="System.ServiceModel.MessageLogging" switchValue="All"> 
     <listeners> 
     <add name="DiagnosticMessageTraceListener" 
      type="System.Diagnostics.XmlWriterTraceListener" 
      initializeData="E:\Inetpub\logs\App\ServiceMessages.svclog" /> 
     </listeners> 
    </source> 
    </sources> 
    <switches> 
    <add name="System.Net" value="Verbose" /> 
    <add name="System.Net.Sockets" value="Verbose" /> 
    </switches> 
</system.diagnostics> 

Si je lance l'application localement en utilisant le serveur web ASP.Net ou IIS local que je reçois tous mes fichiers journaux. Une fois l'application déployée sur IIS 7, je reçois uniquement le journal System.ServiceModel. J'ai vérifié que le répertoire existe et j'ai donné le contrôle total à tout le monde. J'ai également redémarré les services et le site dans une tentative de forcer les journaux à vider. J'ai juste essayé n'importe quoi pour obtenir un journal de cette chose ainsi j'ai installé également les services de rôle d'outils de traçage et de notation. Je n'ai toujours pas mes journaux d'application.

J'ai également essayé une implémentation où je me suis connecté à l'EventLog au lieu de fichiers journaux de suivi. Cela a également montré le même comportement. Travaillé localement et lorsqu'il est déployé sur IIS local, mais pas lorsqu'il est déployé sur le serveur réel. J'ai enregistré dans le journal d'application et sur mon ordinateur IIS7 j'ai donné l'autorisation de contrôle total à HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog \ Application.

Il me semble qu'il me manque quelque chose ici. Je ne peux pas obtenir d'informations sur ces deux implémentations de journalisation différentes lorsqu'elles sont déployées dans IIS 7. Je ne suis même pas sûr de ce qui est commun ici. Est-ce que EventLog.WriteEntry et Trace.TraceEvent utilisent tous les deux WCF?

Répondre

2

que tout le monde dispose des autorisations d'accès complètes sur E: \ Inetpub \ logs \ App \

A propos d'autres problèmes d'autorisation, en savoir plus sur IIS 7 changements sur compte utilisateur,

http://learn.iis.net/page.aspx/110/changes-between-iis-60-and-iis-7-security/

+2

réponse de Lex Li fonctionnera, mais est un risque de sécurité, et fournit un accès trop au dossier. Consultez cet article http://stackoverflow.com/questions/18793727/system-diagnostics-trace-not-working-in-web-app-under-applicationpoolidentity – user3670255

+0

Le suivi ne doit pas être activé longtemps. Une fois que vous avez terminé le suivi, le dossier journal peut être complètement supprimé. –

0

Vous pourriez avoir plus de joie à déplacer vos fichiers journaux hors du répertoire Inetpub. Je l'ai certainement fait, même si j'ai défini l'autorisation correcte pour l'utilisateur du pool IIS.

Essayez <initializeData="E:\logs\Apps\ServiceTrace.svclog" />

Questions connexes