Das Meldungsprotokoll ist eine Text-Datei, die im temporären Benutzerverzeichnis liegt:
>cd %USERPROFILE%\AppData\Local\Temp
Das Format des Dateinamens und die Filtereinstellungen welche Meldungen ausgegeben werden sollen, wird über die Anwendungs-Konfigurationsdatei (App.config bzw. *.exe.config im bin-Verzeichnis) gesteuert:
Im Schritt 1 (siehe oben), muss mittels <sectionGroup> und <section> die iPlus-Konfigurationsklasse LoggingConfiguration aus dem namespace "gip.core.autocomponent" bekannt gegeben werden.
Im Schritt 2, können dann die Klassen LoggingConfiguration, LogFileElement, LoggingTypeElement verwendet werden.
Die Liste <LoggingTypes> enthält Einträge vom Typ "gip.core.autocomponent.LoggingTypeElement" die per <addLoggingType> hinzugefügt werden. Diese Klasse dient zur Beschreibung, welche Meldungen, die mittels IMessages auftreten, gefiltert und nicht ausgegeben werden sollen. Mit jedem Eintrag wird ein neuer "Logfile-Typ" definiert der im Attribut "FileType" mit einem eindeutigen Namen versehen werden muss.
Auf diesen "Logfile-Typ" beziehen sich dann die Einträge in der Liste <LogFiles>, die per <addLogFile> hinzugefügt werden. Die Einträge sind vom Typ "gip.core.autocomponent.LogFileElement". Damit wird deklariert welche Logdateien mit welchem Dateinamen geschrieben werden.
LoggingTypeElement (Abschnitt <addLoggingType>):
Name | Beschreibung |
---|
string FileType | Eindeutiger Name des "Logfile-Typen". |
---|
string MessageType | Filter der angibt welche Art von Meldungen berücksichtigt werden sollen. Die möglichen Werte sind im Enum "gip.core.datamodel.eMsgLevel" definiert: Default, Debug, Info, Warning, Failure, Error, Exception, Question. Mit "Default" werden keine Meldungen gefiltert und alle ausgegeben. |
---|
string Source | Filter (ACUrl) der angibt von welcher ACComponent-Instanz Meldungen ausgegeben werden sollen. Mit "*" werden alle Instanzen berücksichtigt. |
---|
string ACName | Zusätzlicher Filter, der nur Meldungen berücksichtigt, bei denen die Eigenschaft gip.core.datamodel.Msg.ACIdentifier übereinstimmt. Der ACIdentifier ist ein beliebiger String, der vom Programmierer vergeben werden kann. Er dient primär dazu, die richtige Codestelle im Programmcode zu finden. Empfehlenswert ist hier den Methodennamen mit einer eindeutigen Codestellennummer anzugeben z.B. "Start(50)". |
---|
bool DumpThreadID | Wenn "True", dann wird die ThreadID in die Logzeilen mit eingetragen. |
---|
string Smtp | Verbindungsparameter um Meldungen per SMTP zu versenden. Parameter werden Strichpunkt-separiert deklariert: SmtpServerHost=localhost; SmtpServerPort=25; SmtpUseSSL=false; IgnoreInvalidCertificate=true; SmtpAuthUser=iPlus; SmtpAuthPassword=iPlusPW; SmtpFrom=iPlus@localdomain.com; SmtpReceipients=rcp1@localdomain.com,rcp2@localdomain.com; Zum Versand wird die System.Net.Mail.SmtpClient-Klasse verwendet. |
---|
LogFileElement (Abschnitt <addLogFile>):
Name | Beschreibung |
---|
string FileType | Bezug auf den Logfile-Typen, der im Abschnitt <addLoggingType> definiert worden ist. |
---|
string FileName | Dateiname des Logfiles. Mit Platzhalter %Date% wird der aktuelle Tag im Format "YYYYMMDD" eingefügt. Mit %ProcessId% wird die Prozess-ID eingefügt. |
---|
int MaxSizeMB | Maximale Dateigröße in MB. |
---|
int ArchiveAfterDays | Bei einem Wert > 0 werden Logfiles, die älter sind als der angegebene Wert zu einem ZIP-Archiv hinzugefügt. |
---|