Logging

<< Klicken Sie hier um das Inhaltsverzeichnis anzuzeigen >>

Navigation:  Konfiguration >

Logging

Das DABiS Logging basiert auf dem log4net-Framework. Standardmässig wird ein LogFileAppender erstellt, wenn  nichts in der Konfiguration definiert wurde. Das Logging-Verhalten kann jedoch in der App.config angepasst werden.

 

Konfigurationsprogramm (ab V3.0.0):
 

Einstellungen_Log

 

App.config Datei:

Die Konfiguration wird innerhalb des <log4net></log4net> Tags vorgenommen. In der <logger> Section werden das Log-Level und die zu verwendenden Appender angegeben. Standardmässig wird der RollingFileAppender verwendet, welcher so konfiguriert ist, dass er pro Tag ein neues Logfile schreibt. Die Logdatei wird als Parameter File <param name="File" value="Logfile" /> des Appenders definiert. Damit mehrere Prozesse gleichzeitig ins gleiche Logfile schreiben können, brauchts den Eintrag des Parameters LockingModel <param name="LockingModel" type="Sohard.Dabis.Logger.Log4NetLogger.ConcurrentMinimalLock" /> mit dem entsprechenden Klassentyp. Das Logformat (DABiS Logformat) stellen wir im <layout>-Tag mit der DabisLogLayout-Klasse ein. Damit der StackTrace im DabisLogFormat bei Exceptions korrekt geloggt wird, muss das renderingClass-Attribut im <renderer> -Tag entsprechend gesetzt sein.

 

Weitere Appender wie z.B für die Konsole oder Syslog können beliebig hinzugefügt werden. (Siehe log4net Doku)

 

Beispiel Logging-Konfiguration:

 

 <configSections>

   <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

 </configSections>

 

 <log4net>

   <logger name="DabisLogger">

     <level value="DEBUG" />

     <appender-ref ref="LogFileAppender" />

   </logger>

 

   <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">

     <param name="File" value="D:\DABiS800\d800_run\d800_log\StudioController8.log" />

     <param name="AppendToFile" value="true" />

     <param name="LockingModel" type="Sohard.Dabis.Logger.Log4NetLogger.ConcurrentMinimalLock" />

     <datePattern value="_yyyyMMdd&quot;.log&quot;" />

     <rollingStyle value="Date" />

     <maxSizeRollBackups value="10" />

     <staticLogFileName value="true" />

     <layout type="Sohard.Dabis.Logger.Log4NetLogger.DabisLogLayout" />

   </appender>

   <renderer renderingClass="Sohard.Dabis.Logger.Log4NetLogger.ExceptionRenderer, DabisLogger" renderedClass="System.Exception" />

 </log4net>