Configuring the Logs

18 Nov 2016 - 14:46 | Version 8 | | , , ,

Basic Rules

As of release 3.8, Atomikos uses any existing logging frameworks found by these rules :

  • any implementation of SLF4J that can be found in the classpath (e.g., Logback), or
  • if not found and Log4J is available in the classpath, then Log4J will be used, or
  • otherwise, the built-in JDK logging is used

Log Levels

We use the following log level conventions:

Release 4.0 and higher

  • FATAL: situations that probably require 1st line support attention - like (re)start errors. You probably want to let Atomikos know about these.
  • ERROR: situations that require at least 2nd / 3rd line support attention - like heuristic exceptions. You probably want to let Atomikos know about these.
  • WARN: situations that require developer attention as soon as time allows. You probably want to let Atomikos know about these.
  • INFO: normal system messages indicating normal system operation.
  • DEBUG: shows what is going on across APIs so per-transaction details are shown. Only produce these when asked by Atomikos support.
  • TRACE: everything else, mostly inner workings of the Atomikos software. You probably only want these when asked by Atomikos support.


  • WARN: abnormal situations
  • INFO: shows what is going on across APIs so per-transaction details are shown
  • DEBUG: everything else

Configuration Examples



  <!-- Optional: to enable JMX setting of log levels 
       cf -->

  <appender name="ATOMIKOS" class="ch.qos.logback.core.FileAppender">

      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>

 <logger name="com.atomikos" level="WARN">
    <appender-ref ref="ATOMIKOS" />



log4j.appender.Atomikos = org.apache.log4j.RollingFileAppender
log4j.appender.Atomikos.File = tm.out
log4j.appender.Atomikos.MaxFileSize = 100KB
log4j.appender.Atomikos.Append = false
log4j.appender.Atomikos.layout = org.apache.log4j.PatternLayout
log4j.appender.Atomikos.layout.ConversionPattern=%p %t %c - %m%n, Atomikos


<Configuration package="log4j.test" status="WARN">
      <Console name="Console" target="SYSTEM_OUT">
         <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
      <Logger name="com.atomikos" level="trace">
         <AppenderRef ref="Console" />
      <Root level="trace">
         <AppenderRef ref="Console" />

JDK logging

Note: This solution seems to disallow a separate file for separate loggers. In order to reproduce a separate tm.out you would need a Tomcat/apache utility library - see
# Set the default logging level for the logger named com.mycompany
com.atomikos.level = WARNING
com.atomikos.handlers = java.util.logging.FileHandler





Logging for the TCC Coordinator Service (4.0.48 and later releases)

By default, the TCC coordinator service starts with INFO logging enabled. To change this:

Create a custom log4j logging file called ""

log4j.rootCategory=info, stdout
log4j.appender.stdout.layout.ConversionPattern=[%30.30c{1}] - %m%n

Launch the service

java -jar transactions-tcc-rest.jar 8080

Contact Us

Atomikos Corporate Headquarters
Hoveniersstraat, 39/1, 2800
Mechelen, Belgium

T +3215613055

Subscribe to our newsletter

Never miss an update

Copyright 2018 Atomikos BVBA