Solaris_LogRecord は、WBEM のシステムログに書き込めるデータのタイプを定義します。
[Provider ("com.sun.wbem.solarisprovider.logsvc.Solaris_LogRecord")]
class Solaris_LogRecord
{
|
WBEM システムログは、アプリケーションログ、システムログ、セキュリティログという 3 つの一般的なカテゴリに分類できます。ログレコードには、情報ログ、警告ログ、エラーログといった異なる重要度レベルが割り当てられます。アプリケーションの中で Solaris_LogRecord 呼び出しを使ってロギングを有効にする方法については、第 5 章「システムのロギング」 の「API によるロギングの有効化」を参照してください。
すべてのログレコードには、Solaris_LogRecord クラスに定義されている標準形式を使用します。Solaris_LogRecord のプロパティには、アプリケーションからログレコードに渡されるデータの型が指定されています。CIM Object Manager や CIM Object Manager Repository は、記録されるデータを識別するためにデータの一部を必要とします。このようなプロパティには、読み取り専用であることを示すために [read, key] 修飾子が付けられます。このようなプロパティのデータは表示できますが、プロパティの値の変更はできません。次のリストは、Solaris_Core1.0.mof ファイルの Solaris_LogRecord に割り当てられるプロパティを示しています。
{
[read, key]
sint64 RecordID;
[read, key]
sint32 RecordHashCode;
[read, key]
string Filename;
[read]
datetime RecordDate;
[read, write]
sint32 category;
[read, write]
sint32 severity;
[read, write]
string AppName;
[read, write]
string UserName;
[read, write]
string ClientMachineName;
[read, write]
string ServerMachineName;
[read, write]
string SummaryMessage;
[read, write]
string DetailedMessage;
[read, write]
string data;
[read, write]
boolean SyslogFlag;
};
|
Solaris_LogRecord のプロパティを定義したら、Solaris_LogService クラスを CIM_Service の拡張として定義します。このクラスではロギングサービスの操作を制御します。
[Provider ("com.sun.wbem.solarisprovider.logsvc.Solaris_LogService")]
class Solaris_LogService:CIM_Service
{
|
Solaris_LogService クラスに指定するそれぞれの関数では、ログファイルのデータをどのように処理するかを定義します。たとえば、clearLog( ) メソッドでは、ログファイルのすべてのデータを消去し、ログファイルを一新して新しいデータを受け取れるようにします。
{
sint32 clearLog([IN] string fileName);
sint64 getNumRecords([IN] string fileName, [OUT] sint64 numRec);
sint32 listLogFiles([OUT]string logFiles[]);
sint32 getCurrentLogFileName([OUT] string fileName);
sint32 getNumLogFiles([OUT] sint32 numFiles);
sint64 getLogFileSize([OUT] sint64 fileSize);
sint32 getSyslogSwitch([OUT] string switch);
sint32 getLogStorageName([OUT] string fileName);
sint32 getLogFileDir([OUT] string dirName);
};
|
Solaris_LogServiceProperties クラスは、CIM_Setting の拡張として定義されます。
[Provider ("com.sun.wbem.solarisprovider.logsvc.Solaris_LogServiceProperties")]
class Solaris_LogServiceProperties:CIM_Setting
{
|
このクラスのプロパティは、ログファイルの次の機能を制御します。
Directory - ログファイルを書き込むディレクトリ
FileSize - ログファイルの名前を変更し、ログファイルを保存するために必要なログファイルのサイズ
NumFiles - アーカイブに保存できるログファイルの数
SyslogSwitch - ログデータを syslog に書き込めるかどうか。syslog は、Solaris オペレーティング環境のデフォルトのロギングシステム