Solaris_Core1.0.mof ファイルは、Solaris_Schema1.0.mof ファイルの次にコンパイルする Solaris スキーマファイルです。このファイルには、Solaris Provider の Solaris_ComputerSystem と Solaris_SerialPortSetting 部分の定義が含まれています。この定義には、LogRecord、Solaris_Product、Solaris_LogService などがあります。
Solaris_Core1.0.mof ファイルの最初のセクションでは、Solaris_ComputerSystem の定義を CIM_UnitaryComputerSystem クラスの拡張として設定します。
[Provider("com.sun.wbem.solarisprovider.Solaris")] class Solaris_ComputerSystem:CIM_UnitaryComputerSystem { }; |
Solaris_SerialPortSetting 定義では、CIM_SerialPortSetting クラスを Solaris オペレーティング環境に拡張します。Solaris_LogRecord クラスでは、WBEM システムログに書き込めるデータの型を定義します。
[Provider ("com.sun.wbem.solarisprovider.Solaris")] class Solaris_SerialPortSetting:CIM_ElementSetting { [override("Element")] Solaris_SerialPort REF Element; [override("Setting")] Solaris_SerialPortConfiguration REF Setting; }; [Provider ("com.sun.wbem.solarisprovider.Solaris")] 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 の拡張として定義します。Solaris_LogService ではロギングサービスの操作を制御します。
[Provider ("com.sun.wbem.solarisprovider.Solaris")] 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); sint32 setProperties([IN] string data[]); }; |
Solaris_LogServicePropertiesクラスでは、ログファイルの次の属性を制御します。
ログファイルを書き込むディレクトリ
ログファイルの名前
ログファイルが作成された日付
ログファイルの名前を変更し、ログファイルを保存するために必要なログファイルのサイズ
アーカイブに保存できるログファイルの数
ログデータを SysLog に書き込めるかどうか。SysLog は、Solaris オペレーティング環境のデフォルトのロギングシステム