The MFT logger.properties file
The Managed File Transfer 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.
From IBM WebSphere MQ Version 7.5, we can use environment variables 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 The use of environment variables in MFT properties.
Note: When you specify file paths on Windows, the backslash (\) separator character must appear as double backslashes (\\) (that is, escaped \). Alternatively, we 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.
Bindings mode connection properties
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 our 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 we have a database logger see MFT 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, we can define a different subscription (for example, by using the IBM 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 MQ topology means that creating a subscription for the logger is not convenient, we can use a queue instead. Configure IBM 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 IBM WebSphere MQ Version 7.5, or later, the value of this property can contain environment variables.
For more information, see MFT credentials file format.
For details on creating the Authentication Credentials File see Create an MFT credentials file
See Configure MQMFTCredentials.xml for information on the location and permissions of this file.
Further details on creating the Authentication Credentials File are in MFT and IBM MQ connection authentication
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.
On z/OS, specify the full path of the db2jcc.jar file. For example, wmqfte.database.driver=/db2/db2v10/jdbc/classes/db2jcc.jar.
On z/OS systems, we must reference all of the following JAR files:
- db2jcc.jar
- db2jcc_license_cisuz.jar
- db2jcc_javax.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 the 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
Set 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 IBM WebSphere MQ Version 7.5, or later, 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 instance (or subsystem when using Db2 for z/OS) that contains the 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 IBM WebSphere MQ Version 7.5, or later, 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 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, we can set the java.library.path system property by using other methods.
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=5MBSpecifies a maximum file size of 5MB.wmqfte.file.logger.fileSize=2dSpecifies 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 the 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.logLINEAR - 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.logNo 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 immediateShutdownTimeout The time, in seconds, that the logger waits for any outstanding operations to complete and shut down gracefully. By default, the logger waits for 10 seconds for operations to complete. If operations are not completed before the timeout, the logger writes the following event message to output0.log and ends: BFGDB0082I: The logger is ending immediately.If you specify the value of zero, the logger waits for ever to complete current operations.
The default value is used if the value of immediateShutdownTimeout is set to less than zero.
The property applies to both the stand-alone database logger as well as the file type logger.
10 loggerCredentialsKeyFile Name of the file containing the credential key used while encrypting credentials. A string property having no default value. 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 armELEMTYPE Optional property. If the logger is configured for restart by the Automatic Restart Manager (ARM), then set this property to the ARM ELEMTYPE parameter value specified in the associated ARM policy. For a logger, set ELEMTYPE to SYSBFGLG. Not set armELEMENT Optional property. If the logger is configured for restart by the Automatic Restart Manager (ARM), then set this property to the ARM ELEMENT parameter value specified in the associated ARM policy. We can set the ELEMENT value to correspond to the logger name. Not set loggerQMgrAuthenticationCredentialsFileThe path to the file that contains the MQ connection credentials for connection to the logger's coordination queue manager. For details on creating the Authentication Credentials File see Create an MFT credentials file
See Configure MQMFTCredentials.xml for information on the location and permissions of this file.
Further details on creating the Authentication Credentials File are in MFT and IBM MQ connection authentication
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.
We can specify multiple trace specifications in a colon-separated list. For example,com.ibm.wmqfte.databaselogger=moderate:com.ibm.wmqfte.databaselogger.operation=allNone 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 wmqfte.file.logger.filePermissionsOptional property. Use to specify what sort of permission is required for the log file of the logger. The property applies to both linear and circular logs, and can take the values UserReadWriteOnly or UserReadWriteAllRead.
The UserReadWriteOnly value has the existing equivalent authority of 600 and the UserReadWriteAllRead value has the equivalent authority of 644.
Any change in permission is applicable to newly created logger files.
If you enter a value for the property that is not valid, the logger takes the default value and issues message BFGDB0083W to the output log.
UserReadWriteOnly
Client mode connection properties
The following table shows the additional logger properties required to support client mode connection to a logger queue manager.Parent topic: Managed File Transfer configuration reference
Property name Description Default value wmqfte.queue.manager.host Host name, or IP address, of logger queue manager. No default value wmqfte.queue.manager.port Port on which the logger queue manager is listening. 1414 wmqfte.queue.manager.channel Name of the server connection channel on the logger queue manager. SYSTEM.DEF.SVRCONN wmqfte.Ssl.CipherSuite Specifies TLS aspects of how the logger and the logger queue manager exchange data.
The value of wmqfte.Ssl.CipherSuite is a CipherSuite name. The CipherSuite name maps to the CipherSpec name used on the logger queue manager channel.
For more information, see CipherSuite and CipherSpec name mappings.
No default value wmqfte.Ssl.PeerName Specifies a distinguished name skeleton that must match the name that is provided by the logger queue manager. The distinguished name is used to check the identifying certificate that is presented by the queue manager on connection. No default value wmqfte.Ssl.TrustStore Specifies the location of the certificates that the logger trusts. The value of wmqfte.Ssl.TrustStore is a file path. If the file path is a Windows file path the backslash character (\) must be escaped with a further backslash character (\\).
Note that the value of this property can contain environment variables.
No default value wmqfte.Ssl.TrustStoreCredentialsFile The path to the file that contains the wmqfte.Ssl.TrustStore credential. Note that the value of this property can contain environment variables.
No default value wmqfte.Ssl.TrustStoreType The type of SSL keystore we want to use. JKS and PKCS#12 keystores are supported. The value of this property can be either jks or pkcs12. jks wmqfte.Ssl.KeyStore Specifies the location of the private key of the logger. The value of wmqfte.Ssl.KeyStore is a file path. If the file path is a Windows file path the backslash character (\) must be escaped with a further backslash character (\\).
Note that the value of this property can contain environment variables.
No default value wmqfte.Ssl.KeyStore.CredentialsFile The path to the file that contains the wmqfte.Ssl.KeyStore credential. Note that the value of this property can contain environment variables.
No default value wmqfte.Ssl.KeyStoreType The type of SSL keystore we want to use. JKS and PKCS#12 keystores are supported. The value of this property can be either jks or pkcs12. jks wmqfte.Ssl.FipsRequired Specifies that we want to enable FIPS support at the level of the logger. The value of this property can be true or false. For more information, see FIPS support in MFT. false
Related reference