Each process in our system uses log4net. Many of those processes are stared up as services. Some of those running applications are very verbose spewing debug entries and we'd like the ability to limit their output. All loggers use the same .config file to set their current logging level. I'm working on an app that will gain access to all loggers that set the source using
log4net.GlobalContext.Properties["source"] = source;
What I'd like to do is get a list of all loggers currently registered, obtain their source name and then change the .config file for each of those sources to individually configure the output level for each of them.
The problem I'm having is finding the list of all those loggers so I may add an entry in the .config file. Is there a way to do obtain that list of loggers across all processes from a single application?
I've tried using GetRepository().GetCurrentLoggers()
, but that only returns the logger for the currently calling application.
There is no standard way of getting loggers which are in an other process. You have to make something your self.