Personalizzazione della registrazione per il pacchetto Loader

Per personalizzare la registrazione per il pacchetto Loader, utilizzare il file WCALoggerConfig.xml.

Questo file si trova in una directory specificata nella variabile sistema-ambiente di classpath. Può anche essere specificata dalla proprietà dei sistemi 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 contiene uno o più tag del componente, ad esempio <component name="DTDGenerator">. All'interno di tali tag, è possibile aggiungere logger e handler. Non è possibile modificare i tag del programma di utilità e del programma di log fornite con il sistema, ma è possibile aggiungere i tag handler ai programmi di log. Per informazioni relative a cosa è possibile includere in questo file, fare riferimento al file WCALogger.dtd.

I file di registrazione del pacchetto Loader si trovano nel file messages.txt nelle seguenti directory:

 unità:\WebSphere\CommerceServer\instances\instancename\logs
unità:\Program Files\WebSphere\CommerceServer\instancename\logs
/usr/WebSphere/CommerceServer/instances/instancename/logs
/opt/WebSphere/CommerceServer/instances/instancename/logs
/QIBM/UserData/WebCommerce/instances/instancename/logs

Handler

Per aggiungere un handler ad un programma di log, specificare il tipo di handler nel file WCALoggerConfig.xml. E' possibile aggiungere più di un handler ad un unico programma di log. Ciascun handler dispone di attributi propri e di tag subordinate che non sono necessariamente validi per altri handler. Tra i tipi di handler vi sono:

Tipo di handler Descrizione e attributi
console Invia messaggi all'emissione standard, in genere la riga comandi
file memorizza i messaggi in un file di testo

E' necessario aggiungere<filePath>log path</filePath> a questo handler come tagsubordinato.

multifile Crea una registrazione circolare di file

E' necessario specificare<filePath>log path</filePath>. Vengono creati i file di log da 1 a n. E' possibile aggiungere i seguenti attributi:

MaxFiles
Un numero intero che indica quanti file utilizzare prima di cancellare il primo file di registrazione
MaxKBFileSize
Un numero intero che indica il numero massimo di kilobyte da archiviare in ciascun file di registrazione
Windows NT Windows 2000 AIX
Solaris Linux database
Archivia i messaggi in una tabella DB2 in una registrazione circolare. E' possibile aggiungere i seguenti attributi:
brand
Nome del database. DB2 è il solo database supportato al momento.
maxRows
Il numero massimo di record da archiviare in una tabella prima di cancellare le voci più vecchie
E' possibile includere <jdbc/> come tag subordinata e includere i seguenti attributi:
url
L'URL utilizzato in JDBC per accedere al database (ad esempio, Jdbc:db2:wcm, dove wcm è il nome del database). Il database deve essere presente prima di eseguire il programma di utilità.
table
Il nome della tabella del database in cui verranno registrati i messaggi. E' necessario che venga creato con la seguente istruzione DB2:

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

userid
Nome utente del database. All'utente devono essere assegnate le autorizzazioni ad aggiornare la tabella. L'istruzione DB2 sarà:

GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE nometabella TO USER idutente

password
La password del database per il nome utente specificato

Nel seguente esempio viene aggiunto un handler del "database" di tipo a un programma di log:

  <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>

Filtri

I filtri possono essere aggiunti orimossi dagli handler per includere ed escludere tipi di messaggi. Se un programma di log non ha filtri, allora nessun messaggio verrà registrato. Ogni tag dei filtri contiene una tag subordinata messageType in cui viene elencato il tipo di messaggi, di solito uno dei seguenti:

Altri tipi di messaggi vengono elencati nel file WCALogger.dtd, ma la maggior parte non vengono utilizzati con questo pacchetto.

I tipi Filter comprendono:

Tipo Filter Descrizione e attributi
Any Include nel file di registrazione tutti i messaggi indicati come uno dei tipi specificati.

Ad esempio, se l'elenco di messageType include ERROR e l'applicazione genera un messaggio di tipo ERROR, il messaggio viene registrato.

Any Richiede che un messaggio contenga tutti gli attributi del tipo messageType specificato da inserire in una registrazione
Exclude Registra tutti i messaggi non specificati nell'elenco dei tag messageType.

Il seguente esempio di aggiunta di un filtro a un handler illustra come i tipi di messaggio FATAL e ERROR vengono registrati, mentre tutti gli altri messaggi vengono ignorati:

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

Formati

E' possibile specificare uno tra i due tipi di formatter per la formattazione dei messaggi:

Tipo Formatter Descrizione e attributi
safe 
(predefinito)
Evita che venga impostata una eccezione se un messaggio non viene trovato in un file properties

Questo formatter crea un messaggio indicante che la risorsa è mancante.

xml Formatta il messaggio in formato XML

Se non è possibile trovare un messaggio, il formatter scrive un messaggio al posto dell'impostazione di eccezione.

Esempio:  WCALoggerConfig.xml e 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

  <!-- Questo DTD descrive come può essere strutturato un XML WCALoggerConfig.
  Un documento XML WCALoggerConfig è il file di configurazione per
  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 è un file properties predefinito facoltativo che può essere utilizzato 
  per effettuare messaggi specifici per la locale
  -->
  <!ELEMENT messageFile (#PCDATA)>
  <!ELEMENT handler (filePath?, filter, jdbc?)>
  <!ATTLIST handler
  type ( file|multiFile|console|error|textArea|database|ejbQueue|queue ) "console">

  <!-- maxFiles & maxKBFileSize only applies to the multiFile type of handler
  -->
  <!-- filePath & la codifica si applicano soltanto quando l'handler è un file tipo o un 
  multiFile
  -->
  <!ATTLIST handler maxFiles CDATA #IMPLIED>
  <!ATTLIST handler maxKBFileSize CDATA #IMPLIED>
  <!ATTLIST handler encoding CDATA #IMPLIED>
  <!ATTLIST handler format (safe | xml) "safe">
  <!-- maxRecords & brand possono essere applicati soltanto a un tipo di handler del database
  -->
  <!ATTLIST handler maxRecords CDATA #IMPLIED>
  <!ATTLIST handler brand (DB2) #IMPLIED>
  <!-- la tag jdbc deve essere presente all'interno della tag di un tipo di handler del database
  -->
  <!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">

  <!-- il nome dell'attributo di messageType è una delle costanti di 
  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)>

Argomenti correlati

Attività correlate

IBM copyright