log4net Remote Logging Service released
If you ever had to look at more than one log4net log file from EPiServer, or you have had more than one site log to the same log file, this is for you.
I have released the log4net Remote Logging Server Service project to codeplex. It's not much actual code, but I could not find it ready-made for use anywhere else, so I made this for myself and also for you!
It’s been a huge life- and time-saver for myself in any situation where there is more than one log4net log file to inspect – which is pretty much every project I’ve been involved in…
It’s also solved all my issues with having EPiServer log different sites to the same file (issues such as no logging, overwritten logs at rollover etc).
You can:
- Consolidate all your log4net logs from your sites and servers to a single log via the built-in log4net .NET Remoting Appender.
- Solve all issues with simultaneous writes to the log file, lost logs during roll-over etc.
- Browse all logs from all systems in a single log file.
Get it at http://log4netremotelogging.codeplex.com/, either a ready-made Windows Installer MSI package or the full source code in C# for Visual Studio 2008.
Nice!
Is it an idea to log errors locally too? Just in case there is a network error... or... hm... - if we're unable to log over remoting due to network errors, the site will be in a much worse shape I guess.
I have considered logging to the database (using a custom database appender), but have put it off, as important database problems would not be logged.
The remote logging is a really good idea, I'll check it out.
It's certainly useful to have several appenders active at the same time. I regularily have UDP-logging on in order to be able to 'listen in' easily, and also an e-mail appender filtering Fatal-level logs so I'll get an e-mail if something really bad happens. Provided the network is up of course ;-)
The beauty of log4net (and similar frameworks) is the capability to instrument your code in one place independent of the number and location of actual logging targets. Also note that you can log differently to different appenders, it's more flexible than just being able to redirect the output.
So, sure, log it to a local RollingFileAppender as well as a 'backup'.
In actual practice my experience with it for the last couple of months have actually been 100% uptime. I lost many more logs before, due to EPiServer simultaneous access to the logfile in enterprise-mode.