Personnalisation de la journalisation du module Loader

Le fichier WCALoggerConfig.xml vous permet de personnaliser la journalisation du module Loader.

Ce fichier se trouve dans un répertoire spécifié dans la variable d'environnement système du chemin de classe. Il peut également être spécifié par la propriété des systèmes Java com.ibm.wca.logging.configFile.

 unité:\WebSphere\CommerceServer\xml\loader\WCALoggerConfig.xml 
unité:\Program Files\WebSphere\CommerceServer\xml\loader\WCALoggerConfig.xml 
/usr/WebSphere/CommerceServer/xml/loader/WCALoggerConfig.xml 
/opt/WebSphere/CommerceServer/xml/loader/WCALoggerConfig.xml 
/QIBM/UserData/WebCommerce/instances/instancename/xml/WCALoggerConfig.xml

WCALoggerConfig.xml contient un ou plusieurs indicateurs (tags) de composant, <component name="DTDGenerator">, par exemple. Dans chacun de ces indicateurs, vous pouvez ajouter des programmes de journalisation et des pilotes de fichiers. Vous ne devez pas modifier l'utilitaire et les indicateurs du programme de journalisation fournis avec le système, mais vous pouvez ajouter des indicateurs de pilotes de fichiers à des programmes de journalisation. Pour plus d'informations sur les éléments que vous pouvez ajouter à ce fichier, reportez-vous au fichier WCALogger.dtd.

Les journaux du module Loader se trouvent dans le fichier messages.txt des répertoires suivants :

 unité:\WebSphere\CommerceServer\instances\nom_instance\logs
unité:\Program Files\WebSphere\CommerceServer\nom_instance\logs
/usr/WebSphere/CommerceServer/instances/nom_instance/logs
/opt/WebSphere/CommerceServer/instances/nom_instance/logs
/QIBM/UserData/WebCommerce/instances/nom_instance/logs

Gestionnaires

Pour ajouter un pilote de fichiers à un programme de journalisation, spécifiez le type de pilote dans le fichier WCALoggerConfig.xml. Vous pouvez ajouter plus d'un pilote à un programme de journalisation. Veuillez noter que chaque pilote possède ses propres attributs et indicateurs subordonnés, qui ne s'appliquent pas nécessairement à d'autres pilotes. Les différents types de pilotes sont les suivants :

Type de pilote Description et attributs
de console Envoie des messages à la sortie standard, généralement la ligne de commande
de fichiers Stocke les messages dans un fichier texte

Vous devez ajouter <filePath>chemin_journalisation</filePath> à ce gestionnaire, comme marquage subordonné.

multi-fichier Crée un journal circulaire de fichiers

Vous devez spécifier <filePath>chemin_journalisation</filePath>. Les fichiers journaux 1 à n sont créés. Vous pouvez ajouter les attributs suivants :

MaxFiles
Entier indiquant combien de fichiers journaux utiliser avant d'effacer le premier fichier journal
MaxKBFileSize
Entier indiquant le nombre maximum de kilo-octets à stocker dans chaque fichier journal
Windows NT Windows 2000 AIX
Solaris Linux base de données
Enregistre les messages dans une table DB2, dans un journal circulaire. Vous pouvez ajouter les attributs suivants :
brand
Nom du fabricant de la base de données. DB2 est la seule base de données actuellement prise en charge.
maxRows
Nombre maximum d'enregistrements à stocker dans une table avant l'effacement de l'entrée la plus ancienne
Vous pouvez inclure <jdbc/> comme indicateur subordonné et et ajouter les attributs suivants :
url
URL utilisée dans JDBC pour accéder à une base de données (par exemple, Jdbc:db2:wcm, où wcm est le nom de la base de données). La base de données doit exister avant d'exécuter l'utilitaire.
table
Nom de la table de base de données où les messages seront enregistrés. Elle doit être créée à l'aide de l'instruction DB2 suivante :

CREATE TABLE nom_table (KEY char(13) FOR BIT DATA NOT NULL, COMPONENTNAME VARCHAR(30), ENTRY VARCHAR(2000), PRIMARY KEY(key))

userid
Nom utilisateur de la base de données. L'utilisateur doit disposer de droits d'accès suffisants pour mettre à jour la table. L'instruction DB2 suivante permet de les accorder :

GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE nom_table TO USER id_util

password
Mot de passe d'accès à la base de données pour le nom utilisateur spécifié

Dans l'exemple suivant, un gestionnaire de la "base de données" type est ajouté à un programme de journalisation :

  <handler type="database" brand="DB2" maxRows="50">
   <jdbc url="jdbc:db2:wcm"
      table="wcm.log"
      userid= "wasuser"
      password="123456"/>
   <filter type="Any">
     <messageType name="FATAL"/>
     <messageType name="ERROR"/>
     <messageType name="WARNING"/>
   </filter>
  </handler>

Filtres

Des filtres peuvent être ajoutés ou retirés des gestionnaires pour inclure et exclure des types de messages. Si un programme de journalisation n'a pas de filtre, aucun message n'est enregistré. Chaque indicateur de filtre possède un indicateur messageType subordonné qui répertorie le type de message, qui est généralement l'un des suivants :

D'autres types de messages sont répertoriés dans le fichier WCALogger.dtd, mais la plupart ne sont généralement pas utilisés avec ce programme.

Les types de filtres sont les suivants :

Type de filtre Description et attributs
Any Inclut dans le fichier journal tout message identifié par l'un des types messageType spécifiés

Par exemple, si la liste messageType inclut ERROR et que l'application génère un message de type ERROR, ce message est enregistré.

All Un message doit avoir tous les attributs de type messageType spécifiés avant d'être inclus dans un journal
Exclude Enregistre tous les messages non spécifiés dans la liste des indicateurs messageType

Dans cet exemple d'ajout d'un filtre à un gestionnaire, les types de message FATAL et ERROR sont autorisés pour la journalisation et les autres messages sont ignorés :

  <handler type="file">
     <filter type="Any">
	<messageType name="FATAL"/>
	<messageType name="ERROR"/>
     </filter>
  </handler>

Formats

Vous pouvez spécifier l'un des deux types de module de formatage pour les messages :

Type de module de formatage Description et attributs
safe 
(par défaut)
Evite qu'une exception soit définie si un message ne peut être trouvé dans un fichier de propriétés

Ce module de formatage crée un message indiquant que la ressource est absente.

xml Convertit le message au format XML

Si un message ne peut être trouvé, ce module de formatage écrit également un message au lieu de définir une exception.

Exemple :  WCALoggerConfig.xml et WCALogger.dtd

  WCALoggerConfig.xml

  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE WCALoggerConfig SYSTEM "WCALogger.dtd">
  <WCALoggerConfig>
  <component name="MassLoader">
   <logger type="message">
    <handler type="file">
     <filePath>c:\temp\out.txt</filePath>
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
      </filter>
     </handler>
    </logger>
   <logger type="trace">
    <handler type="file">
     <filePath>out2.txt</filePath>
      <filter type="Any">
       <messageType name="PUBLIC"/>
      </filter>
    </handler>
   </logger>
   <logger type="typedMessage">
    <handler type="file">
     <filePath>tout.txt</filePath>
      <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
      </filter>
    </handler>
   </logger>
   <logger type="progress">
    <handler type="console" format="safe">
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
  </component>
  <component name="DTDGenerator">
   <logger type="message">
    <handler type="console">
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
   <logger type="trace">
    <handler type="console">
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
  </component>
  </WCALoggerConfig>

  WCALogger.dtd

  <!-- Cette DTD décrit une structure possible d'un document XML WCALoggerConfig.
  Un document XML WCALoggerConfig est le fichier de configuration en entrée pour
  la classe WCALoggerFactory.
  -->

  <!ELEMENT WCALoggerConfig (component)+>

  <!ELEMENT component (logger)+>
  <!ATTLIST component name CDATA #REQUIRED>
  <!ELEMENT logger (handler+,messageFile?)>
  <!ATTLIST logger type (message | trace | typedMessage | progress) "typedMessage">

  <!-- messageFile est un fichier de propriétés par défaut pouvant être utilisé pour 
  adapter les messages à l'environnement linguistique.
  -->
  <!ELEMENT messageFile (#PCDATA)>
  <!ELEMENT handler (filePath?, filter, jdbc?)>
  <!ATTLIST handler
  type ( file|multiFile|console|error|textArea|database|ejbQueue|queue ) "console">

  <!-- maxFiles & maxKBFileSize s'appliquent uniquement au type multiFile de l'indicateur (handler)
  -->
  <!-- filePath & encoding s'appliquent uniquement lorsque l'indicateur est de type file ou 
  multiFile
  -->
  <!ATTLIST handler maxFiles CDATA #IMPLIED>
  <!ATTLIST handler maxKBFileSize CDATA #IMPLIED>
  <!ATTLIST handler encoding CDATA #IMPLIED>
  <!ATTLIST handler format (safe | xml) "safe">
  <!-- maxRecords & brand s'appliquent uniquement au type database de l'indicateur
  -->
  <!ATTLIST handler maxRecords CDATA #IMPLIED>
  <!ATTLIST handler brand (DB2) #IMPLIED>
  <!-- la balise jdbc doit se trouver dans une balise de type database d'indicateur
  -->
  <!ELEMENT jdbc EMPTY>
  <!ATTLIST jdbc url CDATA #IMPLIED>
  <!ATTLIST jdbc table CDATA #IMPLIED>
  <!ATTLIST jdbc userid CDATA #IMPLIED>
  <!ATTLIST jdbc password CDATA #IMPLIED>

  <!ELEMENT filter (messageType+)>
  <!ATTLIST filter type (Any | All | Exclude ) "Any">

  <!-- le nom d'attribut messageType est l'une des constantes JLog IRecordType 

  -->
  <!ELEMENT messageType EMPTY>
  <!ATTLIST messageType name ( NONE | ALL | INFO |
  INFORMATION | WARN | WARNING | ERR | ERROR |
  FATAL | DEFAULT_MESSAGE | API | CALLBACK |
  ENTRY_EXIT | ENTRY | EXIT | ERROR_EXC |
  MISC_DATA | OBJ_CREATE | OBJ_DELETE |
  PRIVATE | PUBLIC | STATIC | SVC | PERF |
  LEVEL1 | LEVEL2 | LEVEL3 ) "ALL">
  <!ELEMENT filePath (#PCDATA)>

Rubriques connexes

Tâche connexe

IBM copyright