Uploaded image for project: 'OSAMES ORM'
  1. OSAMES ORM
  2. ORM-173

Mise au propre des options de gestion d'erreurs

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: In Progress
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 0.2.0
    • Fix Version/s: 0.3.0
    • Component/s: None
    • Labels:
      None

      Description

      Contexte

      Paramétrage de la gestion des erreurs et du log.

      Contenu

      Actuellement le paramètre context dans les AppSettings permet de définir le comportement en matière de traçage d'erreur :

      • 0 : simple : log
      • 1 : console : log, écriture sur la sortie standard
      • 2 : wpf/winforms : log, affichage d'un pop-up.

      Modifications à réaliser

      1. L'ORM ne doit pas gérer la couche visuelle.
      Le plus sain est de partir sur le lancement d'une exception, et de supprimer les options énumérées ici.
      Pour gérer le niveau de log (simple ou complet), mais uniquement vers un fichier de log, on utilise la configuration standard

      2. Un exemple de fichier App.config le plus simple possible devrait être dans le README.md du git pour la mise en route, indépendamment de la documentation qui est plus complète. Y ajouter le lien sur la doc microsoft de System.Diagnostics.
      Dans la documentation de l'ORM, on a déjà précisé que si les loggers spécifiques à l'ORM sont absents de la configuration, alors on utilise les loggers par défaut de System.Diagnotics.

      3. Mettre à jour la page de documentation associée avec les suppressions, et en profiter pour gérer aussi la page en anglais.

      <system.diagnostics>
          <trace autoflush="true" indentsize="2"/>
          <sources>
            <source name="osamesOrmTraceSource" switchName="mySwitch" switchType="System.Diagnostics.SourceSwitch">
              <listeners>
                <clear/>
                <add name="textwriterListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="OsamesOrm.log" traceOutputOptions="DateTime">
                  <!-- le filtre laisse passer les message de niveau personnalisé -->
                  <filter type="System.Diagnostics.EventTypeFilter" initializeData="Verbose"/>
                </add>
              </listeners>
            </source>
            <source name="osamesOrmDetailedTraceSource" switchName="mySwitch" switchType="System.Diagnostics.SourceSwitch">
              <listeners>
                <clear/>
                <add name="textwriterListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="OsamesOrm_err_detail.log" traceOutputOptions="DateTime, Callstack">
                  <!-- le filtre laisse passer les message de niveau erreur seulement -->
                  <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error"/>
                </add>
               </listeners>
            </source>
          </sources>
          <switches>
            <!-- un seul switch qui permet à tous les listeners d'écouter -->
            <add name="mySwitch" value="All"/>
          </switches>
        </system.diagnostics>
      

      Comportement Attendu

      1. Code inutile supprimé du paramétrage et chargement du paramétrage.
      2. Log fin ou détaillé obtenu selon le paramétrage, mais toujours vers un ou deux fichiers.
      3. Documentation correcte.

      Remarque - Commentaire

      Method ProcessOrmException
      File OOrmErrorsHandler
      Concerns ConfigurationLoader.GetOrmContext

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                babs Barbara Post
                Reporter:
                babs Barbara Post
              • Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: