Solaris環境およびLinux環境においてlocalhostのsyslogにメッセージを出力する場合、以下の2つの方法を選択することができます。
UDP
syslog関数
UDPでlocalhostにメッセージを出力する場合、syslogdが出力元のアドレスを元に名前解決を行うため、syslogのメッセージに出力されるホスト名が、設定によって実ホストとならない場合があります。Systemwalkerなどでsyslogのメッセージに出力されるホスト名を元にメッセージの監視を行っている場合は、syslog関数を選択してください。
UDPを使用してメッセージを出力する場合とsyslog関数を使用してメッセージを出力する場合では、出力されるメッセージに違いがあります。
注意
syslogdがIPv6に対応していない場合、IPv6アドレスを使用してsyslogを出力するとログが出力されません。
IPv4で運用するか、syslog関数で出力してください。
UDPを使用する場合
以下のフォーマットで出力されます。
日時 ホスト名 [コンテキストID] ログメッセージ |
以下に出力例を記します。
Jan 28 13:29:17 localhost [ContextID] Log Message |
syslog関数を使用する場合
[C言語 APIの場合]
以下のフォーマットで出力されます。
日時 実ホスト名 アプリケーション名[PID]: [msgid facility.severity] [コンテキストID] ログメッセージ |
以下にアプリケーション名が“apfwscntmain”の場合の出力例を記します。
Jan 28 13:32:29 primepower apfwscntmain[1111]: [ID 111111 user.debug] [ContextID] Log Message |
以下のフォーマットで出力されます。
日時 実ホスト名 アプリケーション名: [コンテキストID] ログメッセージ |
以下にアプリケーション名が“apfwscntmain”の場合の出力例を記します。
Jan 28 13:32:29 primequest apfwscntmain: [ContextID] Log Message |
[Java APIの場合]
以下のフォーマットで出力されます。
日時 実ホスト名 アプリケーション名[PID]: [msgid facility.severity] [コンテキストID] ログメッセージ |
以下にアプリケーション名が“apfwscntmain”の場合の出力例を記します。
Jan 28 13:32:29 primepower java[1111]: [ID 111111 user.debug] [ContextID] Log Message |
以下のフォーマットで出力されます。
日時 実ホスト名 アプリケーション名: [コンテキストID] ログメッセージ |
以下にアプリケーション名が“apfwscntmain”の場合の出力例を記します。
Jan 28 13:32:29 primequest apfwscntmain: [ContextID] Log Message |
ポイント
Java APIでログを出力する場合、初期化パラメタにより出力方法をUDPまたはsyslog関数に切り替えることも可能です。初期化パラメタについては“Interstage Business Application Server アプリケーション開発ガイド”の“非同期アプリケーション連携実行基盤を利用する場合(Java)”の“初期化パラメタ”を参照してください。
ログ制御ファイルの使用例
ログ制御ファイルを使用して自ホスト(localhost)のsyslogに対して実ホスト名を出力する方法を示します。
C言語APIおよびJava APIともにシステムで一意であるログ制御ファイルを設定することにより可能となります。
実ホスト名を出力するためには、以下の2つのファイルの設定が必要です。
ログ定義ファイルの設定
ログ制御ファイルの設定
ログ定義ファイルの設定
ログ定義ファイルには、<output>タグの typeに“syslog”と定義し、hostnameの <param>タグが省略または“localhost”(注)が指定された場合に、ログ制御ファイルの定義にしたがい動作します。 hostnameに実ホスト名が指定された場合は、これまでどおりの UDPによりメッセージを出力します。
注) “localhost”は大文字小文字を区別しません。また、“localhost”を文字列として評価します。
定義例を以下に記します。
paramタグを省略した場合
<logComposer name="Log1"> <output name="sysLogOut" type="syslog"/> </output> </logComposer> |
paramタグで"localhost"を指定した場合
<logComposer name="Log1"> <output name="sysLogOut" type="syslog"/> <param name="hostname" value="localhost"/> </output> </logComposer> |
ログ定義ファイルの詳細は“Interstage Business Application Server リファレンス”の“ログ定義ファイルリファレンス”を参照してください。
ログ制御ファイルの設定
以下の定義を有効とすることにより自ホスト(localhost)へsyslogを出力した場合に、UDPではなくsyslog関数により実ホスト名を出力することが可能です。
ログ制御ファイルの作成には以下のサンプルを提供しています。下記ファイル名へ変更することにより設定することができます。
/opt/FJSVapclg/conf/apfwlogctl.sam |
ログ制御ファイルのサンプルを以下のようにファイル名を変更してコピーしてください。
/opt/FJSVapclg/conf/apfwlogctl.xml |
注意
作成したログ制御ファイルは、ログ制御ファイルを有効とするアプリケーションに配備されるWUの起動ユーザから参照できる必要があります。参照する権限がない場合は、ログ制御ファイルは読み込まれません。
ログ制御ファイルの定義情報
タグ名 | 意味 | 省略可否(省略時の設定) |
---|---|---|
apfw-log-control | ルートタグ | × |
control-param | ログ制御情報を指定します。 | ○ |
name | 指定したいログ制御情報名を1個指定します。 | × |
value | Nameで指定したログ制御情報のパラメタを1個指定します。 | × |
name名 | 意味 | 省略可否(省略時の設定) |
---|---|---|
syslog.interface |
systemcall: udp: Apcoordinatorで提供されるアプリケーションログで初期化パラメタとしてuji.syslog.interfaceを指定した場合は、uji.syslog.interfaceが有効になります。 | ○(udp) |
注意
本定義はシステムで一意な設定のため動作するログ機能全般に影響します。WU単位や個別のログ機能に対して操作することはできません。
<control-param>タグ内の<name>タグおよび<value>タグを1つずつ指定する必要があります。なお、定義の順番を変更することはできません。
<control-param>タグは複数定義可能です。同じname名が指定された場合は、先に指定された定義が有効になります。
Windowsでは、ログ制御ファイルが指定できないため、本指定が有効になることはありません。
Java APIで使用する場合、次のパスが環境変数LD_LIBRARY_PATHに設定されていることを確認してください。
/opt/FJSVapcef/lib
ログ制御ファイルのサンプル(apfwlogctl.sam)の内容
<?xml version="1.0" encoding="UTF-8"?> <apfw-log-control> <control-param> <name>syslog.interface</name> <value>systemcall</value> </control-param> </apfw-log-control> |