London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Svante Seleborg
Sep 2, 2010
  9356
(3 votes)

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:

  1. Consolidate all your log4net logs from your sites and servers to a single log via the built-in log4net .NET Remoting Appender.
  2. Solve all issues with simultaneous writes to the log file, lost logs during roll-over etc.
  3. 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.

Sep 02, 2010

Comments

Sep 21, 2010 10:33 AM

Nice!

Sep 21, 2010 10:33 AM

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.

Svante Seleborg
Svante Seleborg Sep 21, 2010 10:33 AM

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.

Please login to comment.
Latest blogs
Understanding the Infrastructure Powering AI

The marketing world is increasingly captivated by the potential of AI agents. However, it's crucial to recognize that these agents are not simply...

Patrick Lam | May 15, 2025

Meet the Newest OMVPs – Winter 2025 Cohort

We're excited to officially welcome the latest winter cohort of Optimizely Most Valuable Professionals (OMVPs) - a group of passionate tech...

Satata Satez | May 14, 2025

Helper method to encode query string properly

When using Url.ContentUrl() in Optimizely 12, encodes spaces as + in the query string. If you want to encode the spaces as %20, use the below helpe...

sunylcumar | May 13, 2025

Get ContentReference from GUID

Optimizely CMS 12 provides a Utility function to retrieve Content Reference from a Guid by ussing the below static method. var contentReference =...

sunylcumar | May 13, 2025