6
votes

Création d'un fichier journal plat roulant à l'aide de la bibliothèque d'entreprises

Dans mon application Web, j'essaie de créer un fichier journal pour les erreurs de journalisation et des exceptions, mais lorsque j'exécute mon application, le fichier journal ne se crée pas dans mon dossier de solution ou dans le dossier BIN.

J'ai utilisé ce qui suit code. S'il vous plaît, aidez-moi, je suis coincé avec ce problème, merci d'avance. P>

espaces de noms utilisés strong> p>

<configSections>
    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <section name="recordingWindowGroup" type="Vodafone.DMS.BAL.WindowConfigurationHandler, Vodafone.DMS.BAL"/>
    <section name="defaultParamGroup" type="Vodafone.DMS.BAL.DefaultParamConfiguration, Vodafone.DMS.BAL"/>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </configSections>
  <loggingConfiguration name="Logging Application Block" tracingEnabled="true" defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">
    <listeners>
      <add name="Rolling Flat File Trace Listener"
           type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
           listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
           fileName="Vodafone.DMS.log.exclude" footer="---------------------------" formatter="Text Formatter" header="---------------------------" rollFileExistsBehavior="Increment"
           rollSizeKB="10" timeStampPattern="yyyy-MM-dd hh:mm:ss" maxArchivedFiles="7" traceOutputOptions="Timestamp, Callstack" filter="All"/>
    </listeners>
    <formatters>
      <add template="Timestamp: {timestamp}&#xA;Message: {message}&#xA;Category: {category}&#xA;Priority: {priority}&#xA;EventId: {eventid}&#xA;Severity: {severity}&#xA;Title:{title}&#xA;Machine: {machine}&#xA;Application Domain: {appDomain}&#xA;Process Id: {processId}&#xA;Process Name: {processName}&#xA;Win32 Thread Id: {win32ThreadId}&#xA;Thread Name: {threadName}&#xA;"
           type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="Text Formatter"/>
    </formatters>
    <categorySources>
      <add switchValue="All" name="General">
        <listeners>
          <add name="Rolling Flat File Trace Listener"/>
        </listeners>
      </add>
    </categorySources>
    <specialSources>
      <allEvents switchValue="All" name="All Events">
        <listeners>
          <add name="Rolling Flat File Trace Listener"/>
        </listeners>
      </allEvents>
      <notProcessed switchValue="All" name="Unprocessed Category">
        <listeners>
          <add name="Rolling Flat File Trace Listener"/>
        </listeners>
      </notProcessed>
      <errors switchValue="All" name="Logging Errors &amp; Warnings">
        <listeners>
          <add name="Rolling Flat File Trace Listener"/>
        </listeners>
      </errors>
    </specialSources>
  </loggingConfiguration>


0 commentaires

3 Réponses :


0
votes

Vous devez définir une catégorie sur votre logentiry pour correspondre à une source de catégorie dans votre fichier de configuration («général» dans la configuration que vous avez postée). Je suggérerais également de regarder le bloc d'application de traitement des exceptions si vous envisagez de vous enregistrer des exceptions, au lieu d'écrire le code pour gérer la création de logiciary vous-même.


0 commentaires

4
votes

pour la bibliothèque d'entreprise version 5.0 et ci-dessus , Microsoft a publié une configuration de la bibliothèque d'entreprise outil qui vous permet de modifier visuellement les configurations dans le fichier de configuration . Vous pouvez également installer cet outil à partir de Nuget et accessible à partir de l'intérieur des outils Visual Studio Outils >> Gestion des packages de la bibliothèque >> Gérer les packages Nuge pour la solution et ajoutez le < Bloc d'application FORT> ENTLIB . Vous pouvez trouver un guide de ici .

Utilisation de cet outil J'ai généré un fichier de configuration comme suit:

Placez ceci dans web.config ou app.config fichier xxx

Je recommanderais que, au lieu de générer le fichier journal à l'intérieur du répertoire bin de l'application, vous devez spécifier un emplacement physique en modifiant la valeur du nom FileName = "rollingflatfile.log" < / code> à quelque chose comme nom_fichier = "c: \ journaux \ rollingflatfile.log"


0 commentaires

-2
votes
IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
LogWriterFactory logWriterFactory = new LogWriterFactory(configurationSource);
Logger.SetLogWriter(logWriterFactory.Create(), false);
Logger.Write("btnStartProcess_Click");
Logger.Reset();

1 commentaires

Généralement, vous souhaitez publier plus qu'un vidage de code. Expliquez pourquoi cela fonctionnera / etc. Vous aiderez à la fois les lecteurs op et futurs en le faisant.