static void LoadConfiguration()
{
ConfigurationFile = "Configuration.xml";
String exepath = Environment.GetCommandLineArgs()[0];
String exedir = exepath.Substring(0, exepath.LastIndexOf('\\'));
ConfigurationFile = exedir + "\\" + ConfigurationFile;
XmlDocument xDoc = new XmlDocument();
debInf.Level = 1;
debInf.Versobe = 1;
deb = new Debug("Debug.log", ref debInf);
deb.Write("Main Program", "Load configuration", DateTime.Now, 2);
try
{
xDoc.Load(@ConfigurationFile);
XmlNode rootNode = xDoc.ChildNodes[1];
foreach (XmlNode node in rootNode.ChildNodes)
{
if (node.Name.CompareTo("program") == 0)
{
LoadConfigurationProgram(node);
}
else if (node.Name.CompareTo("syslog_server") == 0)
{
LoadSyslogConfiguration(node);
if (debInf.Versobe == 2)
{
deb.Write("Load Syslog Server Configuration", "Syslog server configuration: " + syslogServer.ToString(), DateTime.Now, 2);
}
}
else if (node.Name.CompareTo("filters") == 0)
{
LoadFilters(node);
if (debInf.Versobe == 2)
{
ArrayList list = new ArrayList(iFilters.Keys);
String[] eventLogNames = (String[])list.ToArray(typeof(string));
foreach (String eventLogName in eventLogNames)
{
ArrayList itemp = (ArrayList)iFilters[eventLogName];
ArrayList etemp = (ArrayList)eFilters[eventLogName];
int iItems = 0;
int eItems = 0;
if (itemp != null)
{
iItems = itemp.Count;
}
if (etemp != null)
{
eItems = etemp.Count;
}
deb.Write("Load configuration", iItems + " include filter(s) and " + eItems + " exclude filter(s) loaded for eventLog : " + eventLogName, DateTime.Now, 2);
itemp = null;
etemp = null;
}
}
}
}
xDoc = null;
}
catch (XmlException xe)
{
deb.Write("Load configuration", "101 - Load XML configuration - " + xe.Message, DateTime.Now, 1);
deb.Write("Load configuration", "Program stop", DateTime.Now, 1);
System.Environment.Exit(-1);
}
catch (NotSupportedException nse)
{
deb.Write("Load configuration", "102 - Load XML configuration - " + nse.Message, DateTime.Now, 1);
deb.Write("Load configuration", "Program stop", DateTime.Now, 1);
System.Environment.Exit(-1);
}
catch (Exception e)
{
deb.Write("Load configuration", "103 - Load XML configuration - " + e.Message, DateTime.Now, 1);
deb.Write("Load configuration", "Program stop", DateTime.Now, 1);
System.Environment.Exit(-1);
}
}