NextGen Knowledge Center

log4j2.properties File

The log4j2.properties file specifies where to write log files to and how verbose the logs should be.

This file is used to specify where to write log files to and how verbose the logs should be. It is split up into the following sections:

rootLogger = ERROR,stdout,fout

This is the "root" logger property which is used to denote the appenders to include and the root level. The following levels can be set in order from least to most logging:

  • OFF
  • FATAL
  • ERROR
  • WARN
  • INFO
  • DEBUG
  • TRACE
  • ALL
# stdout appender
appender.console.type = Console
appender.console.name = stdout
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %-5p %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c: %m%n

This appender ensures that all logging can redirect to STDOUT, if you are running Mirth Connect from an attached shell.

# file appender
property.logs = logs
appender.rolling.type = RollingFile
appender.rolling.name = fout
appender.rolling.fileName = ${logs}/mirth.log
appender.rolling.filePattern = ${logs}/mirth.log.%i
appender.rolling.policies.type = Policies
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size = 500KB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %-5p %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c: %m%n

This appender writes logs to files in the "logs" directory. The directory and file names can be modified here. You can also modify the maximum file size and maximum file count to limit how much log data to retain. Finally, the pattern can be modified to change how the log entries will be formatted.

# splash screen
logger.mirth.name = com.mirth.connect.server.Mirth
logger.mirth.level = INFO

# Mirth® Connect server logging
logger.donkeyEngineController.name = com.mirth.connect.server.controllers.DonkeyEngineController
logger.donkeyEngineController.level = INFO
logger.recoveryTask.name = com.mirth.connect.donkey.server.channel.RecoveryTask
logger.recoveryTask.level = INFO
logger.fileReceiver.name = com.mirth.connect.connectors.file.FileReceiver
logger.fileReceiver.level = WARN

These entries help display certain helpful information when logging on and when messages are recovered.

# Mirth® Connect channel logging
logger.transformer.name = transformer
logger.transformer.level = DEBUG
logger.preprocessor.name = preprocessor
logger.preprocessor.level = DEBUG
logger.postprocessor.name = postprocessor
logger.postprocessor.level = DEBUG
logger.deploy.name = deploy
logger.deploy.level = DEBUG
logger.undeploy.name = undeploy
logger.undeploy.level = DEBUG
logger.filter.name = filter
logger.filter.level = DEBUG
logger.db-connector.name = db-connector
logger.db-connector.level = DEBUG
logger.js-connector.name = js-connector
logger.js-connector.level = DEBUG
logger.attachment.name = attachment
logger.attachment.level = DEBUG
logger.batch.name = batch
logger.batch.level = DEBUG
logger.response.name = response
logger.response.level = DEBUG
logger.shutdown.name = shutdown
logger.shutdown.level = DEBUG

These determine what level verbosity to use when logging from within various JavaScript contexts. Note that these can also be set from the Server Manager.

# SQL Logging
logger.sql.name = java.sql
logger.sql.level = ERROR

Turn the verbosity up here to see more information about which database statements are being executed across the server.