All SDKexecutable processes will create log data, and when the process is started with the --output option this data is written to at least one log file. One log file is always created, but there may be two different log files created, depending on the settings of the SM_LOCALE and SM_ENCODING_OUPUT environment variables.

The name of a log file has the following syntax:

         <name>_
			
				<locale>_
			
				<encoding>.log

where:

  • <name> in the log filename column is determined by the rules that apply to the --output command option, as described in “Command-line options that control ITOps messages” on page 123.

  • <locale>is based on the value of the SM_LOCALE environment variable.

  • <encoding>is based on the value of the SM_ENCODING_INPUT environment variable . “SM_LOCALE” on page 147and “SM_ENCODING_*” on page 147provide additional information.

    A log file whose locale is en_US (default value of SM_LOCALE) and encoding is UTF-8 (default value of SM_ENCODING_INPUT) is always created when the --output option is provided.

  • If the SM_LOCALE environment variable specifies the English locale (en_US), and the SM_ENCODING_OUTPUT environment variable specifies UTF-8, then the English log is the only log file produced.

  • If the SM_LOCALE variable specifies a locale other than en_US , or the SM_ENCODING_OUTPUT environment variable specifies something other than UTF-8, a second log file is created. Log messages written to this second log are localized according to the setting of the SM_LOCALE variable, if such a localization exists.

  • If SM_LOCALE specifies an invalid locale (one for which SDKsoftware has not been localized), English log data will result in the process log file.

    Log filenames, locales and encodingssummarizes the filename, locale and encoding of the log files that are produced, including the system log containers.

Table 1. Log filenames, locales and encodings

Log use

Log filename (if –output is used)

Locale

Encoding

English log

<name>_en_US_UTF-8.log For example, MYDM_en_US_UTF-8.log

en_US

UTF-8

Non-english log

<name>_ <locale>_ <encoding>.log For example, MYDM_ja_JP_<encoding>.log

Defined by SM_LOCALE

Specified by the SM_OUTPUT_ENCODING variable.

UNIX syslog

lDefined by SM_LOCALE

UTF-8 (permitted and expected by the new IETF syslog-protocol RFC, still in a draft form)

Win Event Log

Defined by SM_LOCALE

UTF-16

SM_LOCALE and SM_OUTPUT_ENCODING examplesprovides several examples of SM_LOCALE and SM_ENCODING_OUTPUT variable settings and the resultant logs.

Table 2. SM_LOCALE and SM_OUTPUT_ENCODING examples

SM_LOCALE setting

SM_OUTPUT_ENCODING value

Logs that are produced

en_US

UTF-8

<name>_en_US_UTF-8.log

en_US

ShiftJIS

<name>_en_US_UTF-8.log

<name>_en_US_ShiftJIS.log

fr

UTF-8

<name>_en_US_UTF-8.log

<name>_fr_UTF-8.log

zh

GB

<name>_en_US_UTF-8.log

<name>_zh_GB.log

The volume of output to the system log containers is controlled by the --loglevel option. The volume of output to the log files is controlled by the -–errlevel option, and by the environment variables that control filtering on specific error tables and error codes.

Log file management behavior applies to both log files. Log rolling is managed in a synchronized fashion so that data in multiple logs can be correlated. Thus, when the English log rolls, the non-English log, if it is being produced, will also roll.