The .NET Logging Library has the ability to be configured entirely using runtime properties, or via a log.config xml file or with an app.config/web.config file. A powerful GUI Config Editor is included that will allow you to manage the defaults for all targets and manage individual targets. If there is both a log.config defined and there is also an app.config with logging configuration, the log.config file will be used. If there is neither a log.config file nor a app.config with logging configuration, the logger will automatically default to having these targets:
For WinForms, WPF, or Console:
Console Target
File Logging Target
For ASP.NET Applications:
Response.Write Target
The configuration is automatically loaded when your application is run. It is possible to override the configuration at run time using the runtime properties. It is also possible to force it to use a different app.config file or a log.config file with different name. See LoadConfigurationFromXml and LoadConfigurationFromAppConfig