Enterprise Library 6 LogCallHandler jeter exception “L'écriture de journal n'a pas été défini pour l'Enregistreur de données statique de la classe”
Gars
Je suis en train d'essayer en utilisant LogCallHandler dans l'Interception comme ceci:
<interception>
<policy name="policyLogCallHandler">
<matchingRule name="LogsMachingRule" type="NamespaceMatchingRule">
<constructor>
<param name="namespaceName" value="NetTcpContracts" />
</constructor>
</matchingRule>
<callHandler type="Microsoft.Practices.EnterpriseLibrary.Logging.PolicyInjection.LogCallHandler, Microsoft.Practices.EnterpriseLibrary.PolicyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="callHandlerLog">
<constructor>
<param name="eventId" value="9002"/>
<param name="logBeforeCall" value="true"/>
<param name="logAfterCall" value="true"/>
<param name="beforeMessage" value="--- begin"/>
<param name="afterMessage" value="--- end"/>
<param name="includeParameters" value="true"/>
<param name="includeCallStack" value="true"/>
<param name="includeCallTime" value="true"/>
<param name="priority" value="1"/>
<param name="order" value="1"/>
</constructor>
</callHandler>
</policy>
</interception>
Cette configuration jeter une exception: "L'écriture de journal n'a pas été défini pour l'Enregistreur de données statiques de la classe. Définir invoquant l'Enregistreur.SetLogWriter méthode."
J'ai trouvé des solutions pour ce problème à l'aide de la configuration de l'exécution:
IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
LogWriterFactory logWriterFactory = new LogWriterFactory(configurationSource);
Logger.SetLogWriter(logWriterFactory.Create());
LogEntry entry = new LogEntry();
entry.Message = "I am logging";
Logger.Write(entry)
Mais, je suis en utilisant la configuration par fichier de configuration. Comment reproduire ce comportement dans le fichier de config?
Tks!
OriginalL'auteur Richard Bezerra | 2014-03-21
Vous devez vous connecter pour publier un commentaire.
Le bootstrap comportement de l'Entreprise de la Bibliothèque a changé dans la Version 6. L'impact de la statique de l'Enregistreur de façade est que vous devez définir l'interne de l'écriture de journal (par exemple au démarrage de l'application):
Pour plus de détails, reportez-vous https://entlib.codeplex.com/discussions/442089
Grâce
OriginalL'auteur Nilesh Sawant
Était en face de la même erreur aujourd'hui, j'ai juste enlevé la dernière version de EL journalisation bloc et installé 5.0.505.1 version de l'aide de gestionnaire de package nuget et cela a fonctionné.
OriginalL'auteur IsmailS