public static ILoggerFactory AddLog4Net(this ILoggerFactory factory, Action <Log4NetProviderOptions> log4NetOptions) { if (factory == null) { throw new ArgumentNullException(nameof(factory)); } if (log4NetOptions == null) { throw new ArgumentNullException(nameof(log4NetOptions)); } var options = new Log4NetProviderOptions(); log4NetOptions(options); ConfigureLog4Net(options); using (var provider = new Log4NetLoggerProvider(options)) { provider.Options = options; factory.AddProvider(provider); } return(factory); }
public static ILoggingBuilder AddLog4Net(this ILoggingBuilder factory, Log4NetProviderOptions options) { using (var provider = new Log4NetLoggerProvider(options)) factory.AddProvider(provider); return(factory); }
/// <summary> /// Enable Log4Net as logging provider for Harry.Logging. /// </summary> /// <param name="factory"></param> /// <param name="fullFilePath"></param> /// <returns></returns> public static ILoggerFactory AddLog4Net( #if !NET20 this #endif ILoggerFactory factory, string fullFilePath = null) { if (!string.IsNullOrEmpty(fullFilePath)) { XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(fullFilePath)); } using (var provider = new Log4NetLoggerProvider()) { factory.AddProvider(provider); } return(factory); }