Logging-Einstellungen

Zuletzt geändert von MACH ProForms GmbH am 18.09.2023

Grundsätzlich ist die Logdatei des WildFly unter

/opt/wildfly/standalone/log/server.log

zu finden.

Die folgenden Loggereinstellungen sorgen dafür, dass die meisten unnötigen Logeinträge weggelassen werden, und dass die Logdateien nicht unnötig groß werden, und sollten auf jedem System gesetzt sein:

<logger category="perfStatsLogger">
 <level name="WARN"></level>
</logger>
<logger category="org.jasig">
 <level name="WARN"></level>
</logger>
<logger category="org.jasig.cas.logout.LogoutManagerImpl">
 <level name="ERROR"></level>
</logger>
<logger category="org.apache.pdfbox">
 <level name="WARN"></level>
</logger>
<root-logger>
 <level name="WARN"></level>
 <handlers>
   <handler name="FILE"></handler>
   <handler name="CONSOLE"></handler>
 </handlers>
</root-logger>

Für die Fehlersuche ist es u. U. sinnvoll den Log-Level auf INFO oder DEBUG zu stellen.

Payment-Logging

Weiterhin wird empfohlen, für die payment-Module einen weiteren Logger-Eintrag einzufügen, der speziell für diesen Schritt eine separate Logdatei anlegt.

Hinweis: Je nach payment-Modul werden unterschiedlich detaillierte Meldungen ausgegeben.

<!-- E-Payment für KIV -->
<logger category="de.formsolutions.payment.procedures.epaymentkiv" use-parent-handlers="false">
..

<!-- E-Payment Global -->
<logger category="de.formsolutions.payment.procedures" use-parent-handlers="false">
..
<periodic-rotating-file-handler name="PAYMENT">
 <formatter>
   <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] %s%E%n"></pattern-formatter>
 </formatter>
 <file relative-to="jboss.server.log.dir" path="payment.log"></file>
 <suffix value=".yyyy-MM-dd"></suffix>
 <append value="true"></append>
</periodic-rotating-file-handler>

<logger category="de.formsolutions.payment.procedures.epaymentkiv" use-parent-handlers="false">
 <level name="DEBUG"></level>
 <handlers>
   <handler name="PAYMENT"></handler>
 </handlers>
</logger>

Diese Einstellungen sogen dafür, dass neben dem server.log ein payment.log angelegt wird, welches nur Daten über ePaymentKIV beinhaltet.

Fail2Ban

Für Fail2Ban muss ebenfalls ein Logging-Eintrag hinzugefügt werden, der die zu Prüfende Logdatei erstellt:

<periodic-rotating-file-handler name="FAIL2BAN" autoflush="true">
 <formatter>
   <named-formatter name="PATTERN"></named-formatter>
 </formatter>
 <file relative-to="jboss.server.log.dir" path="fail2ban.log"></file>
 <suffix value=".yyyy-MM-dd"></suffix>
 <append value="true"></append>
</periodic-rotating-file-handler>

<logger category="Fail2Ban">
 <level name="DEBUG"></level>
 <handlers>
   <handler name="FAIL2BAN"></handler>
 </handlers>
</logger>

Die hiermit angelegte Logdatei enthält nur Informationen über für Fail2Ban relevante Daten.

Webservice-Logging

Eingehende Webservice-Anfragen und Webservice-Antworten können in ein separates Logfile gespeichert werden. Die Log-Einträge können dabei auch durch Definition in den general.properties entweder base64-codiert oder im Klartext ausgegeben. Angegeben wird dies durch das Propertie logEncodedSoapMessages Standardmäßig ist der Wert auf false gestellt, sodass die Logausgaben im Klartext erfolgen. Damit dies base64 geloggt wird, muss der entsprechende Eintrag auf true gestellt werden.

<periodic-rotating-file-handler name="WS_HANDLER" autoflush="true">
  <filter-spec value="levels(TRACE)"></filter-spec>
    <formatter>
      <named-formatter name="PATTERN"></named-formatter>
     </formatter>
   <file relative-to="jboss.server.log.dir" path="webservice.log"></file>
   <suffix value=".yyyy-MM-dd"></suffix>
   <append value="true"></append>
 </periodic-rotating-file-handler>

 <logger category="de.formsolutions.conductor">
   <level name="TRACE"></level>
   <handlers>
     <handler name="WS_HANDLER"></handler>
   </handlers>
 </logger>

 <logger category="de.formsolutions.webservice">
   <level name="TRACE"></level>
   <handlers>
     <handler name="WS_HANDLER"></handler>
   </handlers>
 </logger>

Log-Rotation

Soll Wildfly selbst dafür sorgen, dass nur eine gewisse Anzahl an Logs vorhanden sind, so müssen die periodic-rotating-file-handler durch periodic-size-rotating-file-handler ersetzt und um eine entsprechende Konfiguration (max-backup-index) ergänzt werden, z. B.:

<periodic-size-rotating-file-handler name="FILE" autoflush="true">
   <formatter>
     <named-formatter name="PATTERN"></named-formatter>
   </formatter>
   <file relative-to="jboss.server.log.dir" path="server.log"></file>
   <max-backup-index value="14"></max-backup-index>
   <suffix value=".yyyy-MM-dd"></suffix>
   <append value="true"></append>
 </periodic-size-rotating-file-handler>