We have a windows service (in .NET) that will write a fair amount of messages to a log.
This log is of interest not only to server administrators but also to normal clients who use a web page to access the system. Or to us trying to remote debug the system!
We are considering using the normal windows server event log, or writing to a Database table or maybe just old-skool writing to a file.
Does anyone have any best practise advice on which to use?
Important is really only that the log is available to view in the web page, for which purpose I imagine the DB table being the easiest method to accomplish this? How easy would it be to show the windows event log via the web (assuming we only filter for messages which are relevant to our app?)
As you've stated that the log needs to be accessible via a web page, the best place to store the information would almost certainly be in the database as you can use code that you're familiar with to retrieve records to present in the web interface.
That said, if you're building an "enterprise" system, you might want to consider the fact that monitoring solutions such as Big Brother have facilities built in to watch for event log entries and react to them, so some form of logging to the Event Log would be valuable for system administrators in that situation. Also, Windows offers "Event Log Forwarding" which allows event log entries from multiple machines to be aggregated for review on a single machine. Possibly not relevant in your scenario, but worth bearing in mind.