Skip to main content

Custom Logging Configuration

Overview

The Frank!Framework uses Log4j2 for logging. To customize logging, set the environment property:

log4j.configurationFile=log4j4ibis.xml,my-log4j2.xml

log4j4ibis.xml is the framework's default configuration. Additional files are loaded from the classpath or via absolute path (file:///path/to/file).

Logging levels can also be set via properties:

logging.level.org.springframework=WARN

Format: logging.level.<package or class>=<level>

Logger Names

LoggerDefault Output FileContent
(root)${instance.name.lc}.logFallback when no other logger matches
MSG${instance.name.lc}-messages.log, ${instance.name.lc}-messages.jsonProcessed messages in human-readable format
SEC${instance.name.lc}-security.logAudit logging
HEARTBEAT${instance.name.lc}-heartbeat.logPeriodic adapter health messages
CONFIG${instance.name.lc}-config.xmlCurrent configuration printout
APPLICATIONConsoleBoot sequence, subsystem discovery, configuration reloads

The {instance} prefix is derived from the instance name converted to lowercase (e.g., instance name Frank2Manual → prefix frank2manual).

Log Levels

LevelDescription
DEBUGDetailed diagnostic information
INFOGeneral operational messages
WARNPotential issues that do not prevent operation
ERRORFailures that require attention

Default depends on dtap.stage:

dtap.stageDefault log.level
LOC, DEV, TSTDEBUG
ACC, PRDWARN

Adjustable at runtime via Environment Variables → Dynamic Parameters in the Frank!Console.

Log Rotation

  • Daily rotation — used by catalina logs. A new file is created each day.
  • Size-based rotation — used by framework logs. When a file exceeds the size limit, it is renamed with a numeric suffix (.log.1, .log.2, etc.) and a new file is created.

Log Line Format

Application log:

2020-04-23 10:07:52,815 INFO [localhost-startStop-1] null util.AppConstants - Application constants loaded from url [...]

Fields: timestamp, log level, thread name, Java component, message text.

Messages log:

2020-04-23 10:08:49,911 [receiverGetDestinations-listener[1]] Adapter [adapterGetDestinations] received message [SIZE=57B] with messageId [...]

Fields: timestamp, thread name, adapter/sender identification, message metadata.

Log Files in the Console

Log files are viewable from Logging in the Frank!Console main menu. The directory listing shows file size and last modification date.

References