WCF journalisation, de définir la taille maximale de fichier?
Im à l'aide du Service Microsoft l'Éditeur de Configuration pour la configuration des diagnostics WCF(logging) et je ne peux trouver aucun moyen pour définir la taille maximale de fichier?
J'ai trouvé le MaxSizeOfMessageToLog mais qui ne font rien sur la taille du fichier?
Edit 1: Selon cette : http://msdn.microsoft.com/en-us/library/aa395205.aspx
Il devrait y avoir un maxFileSizeKB à la sharedListeners niveau, mais au moment de frapper, de l'espace dans le ajouter un tag que je n'ai pas la possibilité de taper maxFileSizeKB?
Edit 2: Lors de l'ajout de la maxFileSizeKB le service ne démarre pas plus, à la place je vais avoir la suite excetion :
'maxFileSizeKB' n'est pas valide la configuration de l'attribut de type 'System.Diagnostics.XmlWriterTraceListener'.
Description: Une exception non gérée s'est produite pendant l'exécution de la demande web actuelle. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où elle a son origine dans le code.
Détails De L'Exception: System.La Configuration.ConfigurationErrorsException: 'maxFileSizeKB' n'est pas valide la configuration de l'attribut de type 'System.Diagnostics.XmlWriterTraceListener'.
Source De L'Erreur:
Une exception non gérée s'est produite lors de l'exécution de la demande web actuelle. Informations concernant l'origine et l'emplacement de l'exception peut être identifié à l'aide de la trace de pile d'exception ci-dessous.
Edit 3 :
J'ai dû télécharger la Circulaire TraceListener de l'échantillon et de l'inclure dans mon projet, il n'est pas construit en taille limiteur.
Ma config ressemble à ceci maintenant :
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
<listeners>
<add name="ServiceModelMessageLoggingListener"/>
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning,ActivityTracing"
propagateActivity="false">
<listeners>
<add name="ServiceModelTraceListener"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\My\MyRelease 0.31\Host\My.Host.Dev\web_messages.svclog"
type="Microsoft.Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp" maxFileSizeKB="1024">
<filter type="" />
</add>
<add initializeData="C:\My\MyRelease 0.31\Host\My.Host.Dev\web_tracelog.svclog"
type="Microsoft.Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
name="ServiceModelTraceListener" traceOutputOptions="Timestamp" maxFileSizeKB="1024">
<filter type="" />
</add>
</sharedListeners>
C'est de limiter le fichier journal des messages, mais pas le fichier journal de suivi?
btw - voici le code pour
CircularTraceListener
: cbasetest.svn.codeplex.com/svn/SoftLibrary_Dev/SDFL/Reputation/...btw, avez-vous déjà essayé d'utiliser "Microsoft Éditeur de Configuration de Service" pour cette tâche ("C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\SvcConfigEditor.exe")
maxFileSizeKB
est un attribut personnalisé sur le CircularTraceListener
classe qui est l'objet de cet exemple du SDK.Vous êtes bien sûr le droit. J'ai du télécharger la Circulaire TraceListener et comprennent que la DLL dans mon projet. J'ai maintenant le configurer, mais le fichier de trace est encore en croissance alors que le message reste dans la bonne taille? Se Modifier 3.
OriginalL'auteur Banshee | 2012-04-11
Vous devez vous connecter pour publier un commentaire.
C'est parce que le lien de votre donna une trace personnalisé à l'écoute ("Microsoft.ServiceModel.Les échantillons.CircularTraceListener"), qui ont un "maxFileSizeKB de la propriété".
Il n'y a pas de fonctionnalité de limite/rouleau svclog fichiers, si vous avez vraiment besoin d'utiliser un écouteur de trace.
Vous pouvez utiliser l'échantillon utilisé dans votre lien (lire à la fin de l'article comment télécharger le code). Ou ici est un autre qui peut être utile.
OriginalL'auteur Fabske
Veux juste ajouter à @Fabske réponse que afinde pour que cela fonctionne
1) Télécharger WCF échantillons:
http://go.microsoft.com/fwlink/?LinkId=150780
2) Ouvrir
:\WF_WCF_Samples\WCF\Base\Gestion\CircularTracing
3) Construire la solution et de saisir le CircularTraceListener.dll
4) Ajouter cette dll pour votre projet références
5) mise à Jour de votre configuration comme indiqué http://msdn.microsoft.com/en-us/library/aa395205(v=vs. 100).aspx
Je l'ai fait. Téléchargé de l'échantillon, construit .dll, à le mettre dans mon projet de références, n'a que la configuration de chose et soignés pour la faute de frappe (ce qui n'est pas présent). Mais
mxFileSizeKB
est toujours marqué comme inconnu et je ne suis pas un fichier.Ok. Réussi. Mon Code: pastebin.com/JeYE3rEt.
maxFilesizeKB
est toujours marqué comme inconnu, mais il fonctionne et le fichier reste avec la bonne taille. Aussi mon switchValue estAll
et vous pouvez le régler àInformation
,Warning
ou quelque chose comme ça 😉Je n'ai pas l'obtention d'un fichier créé jusqu'à ce que j'ai changé le switchValue de Tous. Aussi, si vous obtenez une ConfigurationErrorsException CircularTraceListener erreur, essayez ceci
OriginalL'auteur VoodooChild