Memo - Asysnet

Werbung
Memo Logging
An:
ASYS-Administratoren
Von:
Stephan Meyer
Thema:
Logging – Auszug aus älterem Memo
Datum:
28.05.2008
Inhalt
1. Logging.......................................................................................... 1
1. Logging
Das Logging wurde auf log4j umgestellt. Dies ermöglicht eine deutlich
bessere Skalierbarkeit und (für Citrix-Systeme) die Möglichkeit, für jeden
Anwender eigene Log-Dateien erstellen zu lassen.
Die Konfiguration der Log-Ausgaben wird in der Datei MbsAsysDE.prop (bzw.
AsysBase.prop) vorgenommen. In der Auslieferungsversion sind 4 LogDateien (in log4j „Appender“ genannt) konfiguriert. Für die Kommunikation
sind eigene .prop-Dateien mit eigenen „Appendern“ definiert.
Das Debug-Logging (Datei „asys_debug.log“) ist sehr detailliert und dient
der Fehlersuche:
- log4j.appender.debug=org.apache.log4j.FileAppender
- log4j.appender.debug.File=logs/asys_debug.log
- log4j.appender.debug.Append=false
- log4j.appender.debug.Threshold=DEBUG
- log4j.appender.debug.layout=org.apache.log4j.PatternLayout
- log4j.appender.debug.layout.ConversionPattern=%d [%t] %-5p %-50c
%x - %m%n
An diese Datei wird nicht angehängt (Append=false), d.h. beim Neustart des
Programms wird sie neu angelegt. Das Ausgabeformat (ConversionPattern)
beinhaltet Datum und Zeit (%d), den aktuellen Thread (%t), die Priorität
(%-5p), die Kategorie (%-50c), den „nested diagnostic content“ wenn ein
Fehler aufgetreten ist (%x) und die Log-Nachricht gefolgt von einem
Zeilenumbruch. Die Modifizierer (-5 bzw. -50) legen fest bis zu welcher
maximalen Länge mit Leerzeichen aufgefüllt wird, bzw. Teile der
Zeichenkette nicht mit ausgegeben werden (%-50p).
Ausgabebeispiel des Debug-Logging:
2004-05-05 15:57:19,022 [main] DEBUG
de.condat.mbs.userview.MBSUserDataView
 ITU GmbH 2008
81956578
- <init> start,
1/3
Memo Logging
fac=UserDataView, parent=Anzeige nach § 11 NachwV, ident=Deckblatt und
AN, viewdef=Deckblatt und AN, xprops=null
Das Info-Logging („asys_info.log“) ist weniger detailliert und wird
fortgeschrieben (Append=true). Der Appender „DailyRollingFileAppender“
bewirkt, dass jeden Tag die Datei vom letzten Tag unter Berücksichtigung
des „datePattern“ historisiert wird.
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File=logs/asys_info.log
log4j.appender.info.Append=true
log4j.appender.info.Threshold=INFO
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d %-5p %x - %m%n
Ausgabebeispiel des Info-Logging:
2004-05-05 15:57:17,670 INFO
- 30.04.2004 12:00
- ***** MBS - Version = 3.6.01 / Release
Das Sql- und das Rule-Logging (asys_sql.log und asys_rule.log) werden
nicht historisiert und haben ein vereinfachtes Ausgabeformat.
log4j.appender.sql=org.apache.log4j.FileAppender
log4j.appender.sql.File=logs/asys_sql.log
log4j.appender.sql.Append=false
log4j.appender.sql.Threshold=DEBUG
log4j.appender.sql.layout=org.apache.log4j.PatternLayout
log4j.appender.sql.layout.ConversionPattern=%d %x - %m%n
log4j.appender.rule=org.apache.log4j.FileAppender
log4j.appender.rule.File=logs/asys_rule.log
log4j.appender.rule.Append=false
log4j.appender.rule.Threshold=DEBUG
log4j.appender.rule.layout=org.apache.log4j.PatternLayout
log4j.appender.rule.layout.ConversionPattern=%d %x - %m%n
 ITU GmbH 2008
81956578
2/3
Memo Logging
Log4j bietet die Möglichkeit die Log-Ausgaben auf Paket- bzw. Klassenebene
einzuschränken und zu erweitern. Wenn beispielsweise ein Problem in einem
bestimmten Bereich des Programms auftritt, lässt sich gezielt für die
relevanten Klassen eine sehr detaillierte Log-Ausgabe einstellen, das Suchen
und Filtern nach relevanten Informationen in sehr großen Datenmengen
entfällt somit. In der Auslieferungsversion sind die Ausgaben auf das
wesentliche beschränkt.
Der Sql- und der Rule-Logger sind selbstdefinierte Kategorien und schreiben
außer in die Debug-Log-Datei zusätzlich jeweils in die SQL-Log-Datei und die
Rule-Log-Datei.
log4j.logger.de.condat.base=INFO
log4j.logger.de.condat.baserep=INFO
log4j.logger.de.condat.ddo=INFO
log4j.logger.de.condat.tools=INFO
log4j.logger.de.condat.mbs=INFO
log4j.logger.Sql-Logger=DEBUG, sql
log4j.logger.Rule-Logger=DEBUG, rule
Insbesondere für Citrix-Anwender interessant ist die Möglichkeit, für jeden
Asys-Benutzer eine eigene Log-Konfiguration anzulegen. Dafür muss eine
Datei „MbsLog_[Loginname].prop“ z.B. „MbsLog_SMeyer.prop“ erzeugt
werden mit den neuen Einstellungen für den jeweiligen Nutzer. Die BasisKonfiguration aus der Datei „MbsAsysDE.prop“ bleibt dabei erhalten, solange
sie nicht durch abweichende Einstellungen in der benutzerspezifischen Datei
überschrieben wird. Beispielsweise könnte für einen Benutzer SMeyer eine
eigene Sql-Logdatei mit dem Namen „asys_sql_SMeyer.log“ angelegt
werden, die historisiert und nicht überschrieben wird:
log4j.appender.sql=org.apache.log4j.DailyRollingFileAppender
log4j.appender.sql.File=logs/asys_sql_SMeyer.log
log4j.appender.sql.Append=true
log4j.appender.sql.Threshold=DEBUG
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.sql.layout=org.apache.log4j.PatternLayout
log4j.appender.sql.layout.ConversionPattern=%d %x - %m%n
Weitere ausführlichere Informationen über das log4j können bei Interesse
dem beiliegenden Dokument „log4jmanual.pdf“ entnommen werden.
 ITU GmbH 2008
81956578
3/3
Herunterladen