Use error logs

There are a variety of error logs that we can use to help with problem determination and troubleshooting.

On Multiplatforms, use the following links to find out about the error logs available for your platform and how to use them:

On z/OSĀ® error messages are written to:

  • The z/OS system console
  • The channel-initiator job log
For information about error messages, console logs, and dumps on IBM MQ for z/OS, see Problem determination on z/OS.


Suppressing or excluding messages from error logs

It is possible to suppress or exclude some messages on both Multiplatforms and z/OS systems.:

AMQ_DIAGNOSTIC_MSG_SEVERITY

From IBM MQ Version 9.0.3, if you set the environment variable AMQ_DIAGNOSTIC_MSG_SEVERITY, for an IBM MQ process, when that IBM MQ process writes a message to an error log or to the console, the message severity is appended to the message number as a single uppercase alphabetic character as follows:
Table 1.
Type of message Character
Informational (0) I
Warning (10) W
Error (20 or 30) E
Severe (40) S
Termination (50) T
For example:
AMQ5051I: The queue manager task 'LOGGER-IO' has started.
AMQ7075W: Unknown attribute foo at /var/mqm/qmgrs/QM1/qm.ini in 
the configuration data.
AMQ9510E: Messages cannot be retrieved from a queue.
AMQ8506S: Command server MQGET failed with reason code 2009.
AMQ8301T: IBM MQ storage monitor job could not be started.
Notes:
  1. Because the queue manager writes messages, the environment variable has to be set in the environment where the queue manager is started. This is especially important on Windows, where it might be the Windows service that starts the queue manager.
  2. AMQ_DIAGNOSTIC_MSG_SEVERITY also affects messages printed by a program.

From Version 9.0.4, the behavior that AMQ_DIAGNOSTIC_MSG_SEVERITY enables, is set by default. We can turn off this behavior by setting the environment variable to 0.

Note that the new services always add the severity character.

ISO 8601 Time

When IBM MQ processes write a message to an error log, the message time in ISO 8601 format, in Coordinated Universal Time (UTC), is included as a Time() attribute.

For example, where the Z time zone indicates UTC:
11/04/2017 07:37:59 - Process(1) User(X) Program(amqzmuc0.exe)
                      Host(JOHNDOE) Installation(MQNI09000200)
                      VRMF(9.0.2.0) QMgr(QM1)
                      Time(2017-04-11T07:37:59.976Z)

Rename on Rollover

Prior to IBM MQ Version 9.0.4, when AMQERR01.LOG reaches the maximum configured size, AMQERR02.LOG is renamed to be AMQERR03.LOG.

Then, the contents of AMQERR01.LOG are copied into AMQERR02.LOG, and AMQERR01.LOG is truncated to empty. This meant that it was possible for certain tools to miss messages that the tool has not processed, before those messages were copied into AMQERR02.LOG.

From IBM MQ Version 9.0.4, the logic has been changed, so that AMQERR01.LOG is renamed to AMQERR02.LOG.