Logger configuration properties for WebSphere MQ Managed File Transfer

The logger has a set of configuration properties. Specify these properties in the logger.properties file, which is in the MQ_DATA_PATH/mqft/config/coordination_qmgr_name/loggers/logger_name directory.

For WebSphere® MQ V7.5, there is the ability for environment variables to be used in some Managed File Transfer properties that represent file or directory locations. This allows the locations of files or directories that are used when running parts of the product, to vary depending on environment changes, such as which user is running the process. For more information, see Environment variables in WebSphere MQ Managed File Transfer properties.

Note: When you specify file paths on Windows, the backslash (\) separator character must appear as double backslashes (\\) (that is, escaped \). Alternatively, you can use a single forward slash character (/) as a separator. For more information about character escaping in Java properties files in Oracle, see Javadoc for the Properties class.
Property name Description Default value
wmqfte.logger.type The logger type in use: file, or database. Set this value to FILE, or DATABASE. No default value
wmqfte.max.transaction.messages The maximum number of messages that is processed in a transaction before the transaction is committed. In circular logging mode, a queue manager has a fixed amount of space available for inflight data. Ensure that you set this property with a sufficiently low value so that the available space does not run out. 50
wmqfte.max.transaction.time The maximum length of time in milliseconds that passes between transaction commits. 5000
wmqfte.max.consecutive.reject The maximum number of messages that can be rejected consecutively (that is, without encountering a valid message).

If this number is exceeded the logger concludes that the problem is not with the messages themselves but with the configuration. For example, if you make an agent-name column in the database narrower than all of your agent names, all messages referring to agents are rejected.

50
wmqfte.reject.queue.name The name of a queue to which the logger puts messages that the logger cannot handle. If you have a database logger see Database logger error handling and rejection for details of which messages might be put onto this queue. SYSTEM.FTE.LOG.RJCT.logger_name
wmqfte.command.queue.name The name of a queue that the logger reads command messages controlling its behavior from. SYSTEM.FTE.LOG.CMD.logger_name
wmqfte.queue.manager The queue manager that the logger connects to (the queue manager must be on the same machine as the logger). No default value
wmqfte.message.source.type One of the following values:
automatic subscription
The default value. The logger creates and uses its own durable, managed subscription on the queue manager that is defined in SYSTEM.FTE/Log/#. This is an appropriate value for most scenarios.
administrative subscription
If the automatic subscription is not appropriate, you can define a different subscription (for example, by using the IBM® WebSphere MQ Explorer, MQSC, or PCF) and instruct the logger to use that subscription. For example, use this value to partition the log space so that one logger handles agents from A-H, another logger handles I-P, and a third logger from Q-Z.
queue
If the IBM WebSphere MQ topology means that creating a subscription for the logger is not convenient, you can use a queue instead. Configure IBM WebSphere MQ so that the queue receives the messages that are typically received by a subscription to SYSTEM.FTE/Log/# on the coordination queue manager.
automatic subscription
wmqfte.message.source.name If the message source type is administrative subscription or queue, the name of the subscription or queue to use. This property is ignored if the source type is automatic subscription. No default value
wmqfte.database.credentials.file The file that contains the user name and password for connecting to the database.

For WebSphere MQ V7.5, the value of this property can contain environment variables.

For more information, see MQMFT credentials file format.

The default value for this property is %HOMEDRIVE%%HOMEPATH%\mqmftcredentials.xml” on Windows and $HOME/MQMFTCredentials.xml on other platforms.
wmqfte.database.driver The location of the JDBC driver classes for the database. This is typically the path and file name of a JAR file. For example, the Type 2 driver for DB2® on AIX® systems requires the file /opt/IBM/db2/V9.5/java/db2jcc.jar. On Windows systems, specify the path separator as a forward slash character (/) for example, C:/Program Files/IBM/SQLLIB/java/db2jcc.jar.

If your database driver consists of multiple JAR files (for example, Db2 V9.1 requires a driver JAR file and a license JAR file), include all of these JAR files in this property. Separate multiple file names by using the classpath separator for your platform, that is, the semicolon character (;) on Windows systems and the colon character (:) on other platforms.

No default value
wmqfte.database.exclude.duplicate.metadata Controls whether entries are stored in the metadata table that contains information that can be found in other tables within the database logger schema. Set this value to true, or false. These metadata entries are no longer stored by default as it is duplication of existing data and a waste of database storage capacity. The property entries and the tables, where the same data appears, are as follows:
  • com.ibm.wmqfte.SourceAgent TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.DestinationAgent TRANSFER_EVENT
  • com.ibm.wmqfte.MqmdUser TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.OriginatingUser TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.OriginatingHost TRANSFER_EVENT or CALL_REQUEST
  • com.ibm.wmqfte.TransferId TRANSFER or CALL_REQUEST
  • com.ibm.wmqfte.JobName TRANSFER or CALL_REQUEST

Setting the value of this property to false causes these metadata entries to be stored in the metadata table.

true
wmqfte.database.host

DB2 only:

For WebSphere MQ V7.5, the host name of the database server to connect to using a Type 4 JDBC driver. If a value for this property is specified, then a value for wmqfte.database.port must also be specified. If both properties are not defined, the database logger connects by using the default Type 2 JDBC driver.

If a value for this property is specified, then a credentials file for this logger (file path defined by the wmqfte.database.credentials.file property) must exist, and be accessible to define the user name and password for connecting to the database, even if the database is on the local system.

No default value
wmqfte.database.name The name of the database that contains the WebSphere MQ Managed File Transfer log tables. No default value
wmqfte.database.type

The database management system in use: Db2 or Oracle. Set this value to db2 or oracle.

db2
wmqfte.database.port

DB2 only:

For WebSphere MQ V7.5, the port number of the database server to connect to using a Type 4 JDBC driver. If a value for this property is specified, then a value for wmqfte.database.host must also be specified. If both properties are not defined, the database logger connects by using the default Type 2 JDBC driver.

If a value for this property is specified, then a credentials file for this logger (file path defined by the wmqfte.database.credentials.file property) must exist, and be accessible to define the user name and password for connecting to the database, even if the database is on the local system.

No default value
wmqfte.database.schema The database schema that contains the WebSphere MQ Managed File Transfer logging tables. In most cases the default value is appropriate, but you might need to specify an alternative value depending on your own site-specific database considerations. FTELOG
wmqfte.database.native.library.path The path that contains the native libraries that are needed by your chosen database driver (if any). For example, the Type 2 driver for DB2 on AIX systems requires libraries from /opt/IBM/db2/V9.5/lib32/. As an alternative to this property, you can set the java.library.path system property by using other methods.

On Solaris and HP-UX systems, before running the fteStartLogger command, you must also set and export the LD_LIBRARY_PATH environment variable to include the path.

No default value
wmqfte.file.logger.fileDirectory The directory where the file logger log files are located. mqft/logs/coordination_dir/loggers/logger_name/logs
wmqfte.file.logger.fileSize The maximum size that a log file is allowed to grow to. The size value is a positive integer, greater than zero, followed by one of the following units: KB, MB, GB, m (minutes), h (hours), d (days), w (weeks). For example, wmqfte.file.logger.fileSize=5MB Specifies a maximum file size of 5MB. wmqfte.file.logger.fileSize=2d Specifies a maximum file size of 2 days of data. 10MB
wmqfte.file.logger.fileCount The maximum number of log files to create. When the amount of data exceeds the maximum amount that can be stored in this number of files, the oldest file is deleted so that the number of files never exceeds the value that is specified. 3
wmqfte.file.logger.mode The logger mode in use: circular, or linear. Set this value to CIRCULAR, or LINEAR.
CIRCULAR - The file logger writes information to a file until that file reaches its maximum size as defined by using the wmqfte.file.logger.fileSize property. When the maximum size is reached, the file logger starts a new file. The maximum number of files that are written in this mode is controlled by the value that is defined by using the wmqfte.file.logger.fileCount property. When this maximum number of files is reached, the file logger deletes the first file and re-creates it for use as the currently active file. If the value defined in the wmqfte.file.logger.fileSize property is a fixed size byte unit (for example, KB, MB, or GB) then the upper limit on disk space that is used in this mode equals fileSize multiplied by fileCount. If the value defined in the wmqfte.file.logger.fileSize property is a time unit (for example, m, h, d, or w) then the maximum size depends on the throughput of log messages in your system over these time periods. The log file naming convention that is used when running in this mode is: logger_namenumber-timestamp.log where:
  • logger_name is the name that is given to the logger in the fteCreateLogger command.
  • number is the number of the file within the set.
  • timestamp is the timestamp of when the file was created.

For example, LOGGER1-20111216123430147.log

LINEAR - The file logger writes information to a file until that file reaches its maximum size as defined by using the wmqfte.file.logger.fileSize property. When the maximum size is reached the file logger starts a new file. Previously written files are not deleted, which allows them to be kept as a historical record of log messages. Files are not deleted when running in linear mode, so the wmqfte.file.logger.fileCount property is ignored because there is no upper limit to the number of files that can be created. Because there is no upper limit when running in this mode, it is necessary to track the amount of disk space that is used by the log files to avoid running low on disk space. The log file naming convention that is used when running in this mode is: logger_name-timestamp.log where:
  • logger_name is the name that is given to the logger in the fteCreateLogger command.
  • timestamp is the timestamp of when the file was created.

For example, LOGGER-20111216123430147.log

No default value
wmqfte.max.retry.interval The maximum time, in seconds, between retries when the logger encounters a persistent error.

Some error conditions (for example, loss of database connection) prevent the logger from continuing. When this type of condition occurs, the logger rolls back the current transaction, waits for a period, and then retries. The time that the logger waits is initially very short, so that transitory errors can be overcome quickly. However, each time the logger retries, the time that it waits is increased. This prevents too much unnecessary work from taking place when the error condition is longer-lasting, for example when a database is taken down for maintenance.

Use this property to set a limit to the length of the wait so that a retry occurs in a reasonable time of the error condition being resolved.

600
loggerQMgrRetryInterval The interval, in seconds, between checks on the availability of the queue manager by the logger's process controller. 30
maxRestartCount The maximum number of restarts that can happen within the time interval specified by the value of the maxRestartInterval property. When this value is exceeded the logger's process controller stops restarting the logger, and instead performs an action that is based on the value of the maxRestartDelay property. 4
maxRestartInterval The interval, in seconds, that the logger's process controller measures logger restarts over. If the number of restarts in this interval exceeds the value of the maxRestartCount property, the logger's process controller stops restarting the logger. Instead the logger's process controller performs an action that is based on the value of the maxRestartDelay property. 120
maxRestartDelay Determines the behavior of the logger's process controller when the rate of logger restarts exceeds the value of the maxRestartCount and maxRestartInterval properties. If you specify a value less than or equal to zero, the logger's process controller is stopped. If you specify a value greater than zero, this is the number of seconds to wait before the restart history information held by the logger's process controller is reset and the logger is restarted. -1
wmqfte.oracle.port The port that the logger uses to connect to the Oracle instance. This port is also known as a TNS listener. 1521
wmqfte.oracle.host The host that the logger uses to connect to the Oracle instance. localhost
trace Optional property. Trace specification when the logger is to be run with trace enabled at logger start. The trace specification is a comma-separated list of classes, the equals character, and a trace level.

For example, com.ibm.wmqfte.databaselogger, com.ibm.wmqfte.databaselogger.operation=all.

You can specify multiple trace specifications in a colon-separated list. For example,com.ibm.wmqfte.databaselogger=moderate:com.ibm.wmqfte.databaselogger.operation=all

None
traceFiles Optional property. The total number of trace files to keep. This value applies to the process controller of a logger, as well as the logger itself. 5
traceSize Optional property. The maximum size in MB of each trace file, before trace wraps onto the next file. This value applies to the process controller of the logger, and the logger itself. 20