Enabling an application to write data to a log file involves the following main tasks:
Creating a new instance of the Solaris_LogRecord class
Specifying the properties that will be written to the log file and setting values for the property qualifiers
Setting the new instance and properties to print
Import all necessary java.rmi classes.
import java.rmi.*; import com.sun.wbem.client.CIMClient; import com.sun.wbem.cim.CIMInstance; import com.sun.wbem.cim.CIMValue; import com.sun.wbem.cim.CIMProperty; import com.sun.wbem.cim.CIMNameSpace; import com.sun.wbem.cim.CIMObjectPath; import com.sun.wbem.cim.CIMClass; import com.sun.wbem.cim.CIMException; import com.sun.wbem.solarisprovider.*; import java.util.*; import java.util.Enumeration; |
Declare the public class CreateLog and the following values:
CIMClient value
CIMObjectPath value
CIMNameSpace value
public class CreateLog { public static void main(String args[]) throws CIMException { if ( args.length != 3) { System.out.println("Usage: CreateLog host username password"); System.exit(1); } CIMClient cc = null; CIMObjectPath cop = null; try { CIMNameSpace cns = new CIMNameSpace(args[0]); cc = new CIMClient(cns, args[1], args[2]); |
Specify the vector of properties to be returned. Set values for the properties of the qualifiers.
Vector keys = new Vector(); CIMProperty logsvcKey = new CIMProperty("RecordID"); logsvcKey.setValue(new CIMValue(new Integer(0))); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("RecordHashCode"); logsvcKey.setValue(new CIMValue(new Integer(0))); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("Filename"); logsvcKey.setValue(new CIMValue("some_file")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("category"); logsvcKey.setValue(new CIMValue(new Integer(2))); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("severity"); logsvcKey.setValue(new CIMValue(new Integer(2))); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("AppName"); logsvcKey.setValue(new CIMValue("SomeApp")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("UserName"); logsvcKey.setValue(new CIMValue("molly")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("ClientMachineName"); logsvcKey.setValue(new CIMValue("dragonfly")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("ServerMachineName"); logsvcKey.setValue(new CIMValue("spider")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("SummaryMessage"); logsvcKey.setValue(new CIMValue("brief_description")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("DetailedMessage"); logsvcKey.setValue(new CIMValue("detailed_description")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("data"); logsvcKey.setValue(new CIMValue("0xfe 0x45 0xae 0xda")); keys.addElement(logsvcKey); logsvcKey = new CIMProperty("SyslogFlag"); logsvcKey.setValue(new CIMValue(new Boolean(true))); keys.addElement(logsvcKey); |
Declare the new instance of the CIMObject Path for the log record.
CIMObjectPath logreccop = new CIMObjectPath("Solaris_LogRecord", keys); |
Declare the new instance of Solaris_LogRecord. Set vector of properties to write to a file.
CIMInstance ci = new CIMInstance(); ci.setClassName("Solaris_LogRecord"); ci.setProperties(keys); //System.out.println(ci.toString()); cc.setInstance(logreccop,ci); } catch (Exception e) { System.out.println("Exception: "+e); e.printStackTrace(); } |
Close the session after data has been written to the log file.
// close session. if(cc != null) { cc.close(); } } } |