I have decided to break the logging component up so that it will have two possible operating area: Local and Remote.
Local will be used if the component is unable to connect to the remote logging server and will provide only text file logging [txt|csv|xml]. When the connection is re-established, the logging component will switch from local to remote and catch up the log entries to the remote logging server.
Why we decided to break this so far apart is the segregating of processes so that if logging fails, the application (server) using the component can still continue to function without causing crashes to the application. This also allows us to provide a common system monitoring application that can connect to multiple logging servers and retrieve log information wiythout disrupting or putting any additional strain on the applications (servers).
Now that I've mentioned the system monitoring application, I'll break open the Xmas presents early and give a little insight into the other monitoring processes that will be used in the MMO Architect project.
We will be using MySQL, MSDE, and MSSQL initially for our supported databases. We will provide a heartbeat/status monitoring for keeping track of the databases.
We will be providing a process that will monitor a directory for changes including new files, changed files, new directory.
We will be providing a process that will monitor 1:M files on a specified server for changes.
We will be providing a process that will monitor the network traffic based on IP address and port.
We will be providing a process monitoring for specified processes.
All of the monitoring systems will be designed to be accessed remotely and will allow mutiple machines (servers) to be watched. Alerting will be written in to the system monitoring application.
So that's it for today. I expect to have the base component for logging and it's logging server written by next Tuesday.
Oh by the way, all of the servers will be written for either remote or local commands for control and written in C#.
Thanks for reading :)