exploitation forestière Enterprise Library offre un tas de bits à tripoter. Donc, avant de changer la configuration, peut-être que certains des paramètres de la boîte peuvent vous permettre de faire ce que vous voulez?
Il me semble que vous voulez que votre application enregistre certains messages au démarrage, puis ne consigner plus aucun message. Je suppose que vous savez explicitement quand vous avez fini de consigner les messages de démarrage.
Si ce qui précède est vrai, je pense que la méthode la plus simple consisterait à utiliser la propriété LogEntry Priority.
Dans la configuration du fichier de configuration d'un filtre de priorité avec une priorité minimum de 2:
<logFilters>
<add minimumPriority="2" maximumPriority="2147483647" type="Microsoft.Practices.EnterpriseLibrary.Logging.Filters.PriorityFilter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="Priority" />
<add enabled="true" type="Microsoft.Practices.EnterpriseLibrary.Logging.Filters.LogEnabledFilter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="LogEnabled Filter" />
</logFilters>
Ensuite, lors du démarrage utiliser une priorité de 2 (ou plus) pour se connecter à vos messages. Puis, quand vous savez que vous avez terminé de définir la priorité jusqu'à 1.
j'intégrerait mieux, mais un exemple de code ressemblerait à ceci:
public class MyApp
{
public static int LogPriority = 2;
public static readonly string MyAppCategory = "MyAppCategory";
static void Main()
{
Logger.Write("Loading 1...", MyAppCategory, LogPriority);
// ...
Logger.Write("Loading 2...", MyAppCategory, LogPriority);
// Done loading so turn off logging
LogPriority = 1;
Logger.Write("Message not logged", MyAppCategory, LogPriority);
}
}
Maintenant, si jamais vous voulez activer la journalisation pour le reste de votre application, il suffit de baisser le filtre de priorité de 2 à 1 et tout sera consigné.
Votre configuration de TraceListener est-elle configurée? Voulez-vous désactiver la journalisation par programmation? –