/// <summary> /// Constructor accepting configuration properties and an arbitrary /// <see cref="ILog4NetRuntime"/> instance. /// </summary> /// <param name="properties">configuration properties, see <see cref="Log4NetLoggerFactoryAdapter"/> for more.</param> /// <param name="runtime">a log4net runtime adapter</param> protected Log4NetLoggerFactoryAdapter(NameValueCollection properties, ILog4NetRuntime runtime) : base(true) { if (runtime == null) { throw new ArgumentNullException("runtime"); } _runtime = runtime; // parse config properties string configType = ArgUtils.GetValue(properties, "configType", string.Empty).ToUpper(); string configFile = ArgUtils.GetValue(properties, "configFile", string.Empty); // app-relative path? if (configFile.StartsWith("~/") || configFile.StartsWith("~\\")) { configFile = string.Format("{0}/{1}", AppDomain.CurrentDomain.BaseDirectory.TrimEnd('/', '\\'), configFile.Substring(2)); } if (configType == "FILE" || configType == "FILE-WATCH") { if (configFile == string.Empty) { throw new ConfigurationException("Configuration property 'configFile' must be set for log4Net configuration of type 'FILE' or 'FILE-WATCH'."); } if (!File.Exists(configFile)) { throw new ConfigurationException("log4net configuration file '" + configFile + "' does not exists"); } } switch (configType) { case "INLINE": _runtime.XmlConfiguratorConfigure(); break; case "FILE": _runtime.XmlConfiguratorConfigure(configFile); break; case "FILE-WATCH": _runtime.XmlConfiguratorConfigureAndWatch(configFile); break; case "EXTERNAL": // Log4net will be configured outside of Common.Logging break; default: _runtime.BasicConfiguratorConfigure(); break; } }
/// <summary> /// Constructor accepting configuration properties and an arbitrary /// <see cref="ILog4NetRuntime"/> instance. /// </summary> /// <param name="properties">configuration properties, see <see cref="Log4NetLoggerFactoryAdapter"/> for more.</param> /// <param name="runtime">a log4net runtime adapter</param> protected Log4NetLoggerFactoryAdapter(NameValueCollection properties, ILog4NetRuntime runtime) : base(true) { if (runtime == null) { throw new ArgumentNullException("runtime"); } _runtime = runtime; // parse config properties var configType = properties.GetValue("configType", string.Empty).ToUpper(); var configFile = properties.GetValue("configFile", string.Empty); // app-relative path? if (configFile.StartsWith("~/") || configFile.StartsWith("~\\")) { configFile = string.Format("{0}/{1}", AppDomain.CurrentDomain.BaseDirectory.TrimEnd('/', '\\'), configFile.Substring(2)); } if (configType == "FILE" || configType == "FILE-WATCH") { if (configFile == string.Empty) { throw new ConfigurationException("Configuration property 'configFile' must be set for log4Net configuration of type 'FILE' or 'FILE-WATCH'."); } if (!File.Exists(configFile)) { throw new ConfigurationException("log4net configuration file '" + configFile + "' does not exists"); } } switch (configType) { case "INLINE": _runtime.XmlConfiguratorConfigure(); break; case "FILE": _runtime.XmlConfiguratorConfigure(configFile); break; case "FILE-WATCH": _runtime.XmlConfiguratorConfigureAndWatch(configFile); break; case "EXTERNAL": // Log4net will be configured outside of Common.Logging break; default: _runtime.BasicConfiguratorConfigure(); break; } }
public TestLog4NetLoggerFactoryAdapter(NameValueCollection properties, ILog4NetRuntime runtime) : base(properties, runtime) {}
public TestLog4NetLoggerFactoryAdapter(NameValueCollection properties, ILog4NetRuntime runtime) : base(properties, runtime) { }
/// <summary> /// Constructor accepting configuration properties and an arbitrary /// <see cref="ILog4NetRuntime"/> instance. /// </summary> /// <param name="properties">configuration properties, see <see cref="Log4NetLoggerFactoryAdapter"/> for more.</param> /// <param name="runtime">a log4net runtime adapter</param> protected Log4NetLoggerFactoryAdapter(NameValueCollection properties, ILog4NetRuntime runtime) : base(true) { if (runtime == null) { throw new ArgumentNullException("runtime"); } _runtime = runtime; // parse config properties string configType = ArgUtils.GetValue(properties, "configType", string.Empty).ToUpper(); string configFile = ArgUtils.GetValue(properties, "configFile", string.Empty); foreach (var x in properties) { log4net.GlobalContext.Properties[x.Key] = x.Value; } // app-relative path? if (configFile.StartsWith("~/") || configFile.StartsWith("~\\")) { #if NETCF string path = Path.GetDirectoryName(typeof(Log4NetLoggerFactoryAdapter).Module.FullyQualifiedName).TrimEnd('/', '\\'); #else string path = AppDomain.CurrentDomain.BaseDirectory.TrimEnd('/', '\\'); #endif configFile = string.Format("{0}/{1}", path, configFile.Substring(2)); } if (configType == "FILE" || configType == "FILE-WATCH") { if (configFile == string.Empty) { throw new ConfigurationException("Configuration property 'configFile' must be set for log4Net configuration of type 'FILE' or 'FILE-WATCH'."); } if (!File.Exists(configFile)) { throw new ConfigurationException("log4net configuration file '" + configFile + "' does not exists"); } } switch (configType) { case "INLINE": _runtime.XmlConfiguratorConfigure(); break; case "FILE": _runtime.XmlConfiguratorConfigure(configFile); break; case "FILE-WATCH": _runtime.XmlConfiguratorConfigureAndWatch(configFile); break; case "EXTERNAL": // Log4net will be configured outside of Common.Logging break; default: _runtime.BasicConfiguratorConfigure(); break; } }
/// <summary> /// Constructor accepting configuration properties and an arbitrary /// <see cref="ILog4NetRuntime"/> instance. /// </summary> /// <param name="properties">configuration properties, see <see cref="Log4NetLoggerFactoryAdapter"/> for more.</param> /// <param name="runtime">a log4net runtime adapter</param> protected Log4netLoggerFactoryAdapter(NameValueCollection properties, ILog4NetRuntime runtime) { if (runtime == null) { throw new ArgumentNullException("runtime"); } _runtime = runtime; // parse config properties string configType = ArgUtils.GetValue(properties, "configType", string.Empty).ToUpper(); string configFile = ArgUtils.GetValue(properties, "configFile", string.Empty); _circumventLogicalThreadContext = Convert.ToBoolean(ArgUtils.GetValue(properties, "circumventLogicalThreadContext", "false")); string executionIdProvider = ArgUtils.GetValue(properties, "executionIdProvider", string.Empty); if (!string.IsNullOrWhiteSpace(executionIdProvider)) { var type = Type.GetType(executionIdProvider, true, false); _executionIdProvider = (IProvideExecutionIds) Activator.CreateInstance(type); // currently not supporting any arguments - change as / when needed } // app-relative path? if (configFile.StartsWith("~/") || configFile.StartsWith("~\\")) { configFile = string.Format("{0}/{1}", AppDomain.CurrentDomain.BaseDirectory.TrimEnd('/', '\\'), configFile.Substring(2)); } if (configType == "FILE" || configType == "FILE-WATCH") { if (configFile == string.Empty) { throw new ConfigurationErrorsException("Configuration property 'configFile' must be set for log4Net configuration of type 'FILE' or 'FILE-WATCH'."); } if (!File.Exists(configFile)) { throw new ConfigurationErrorsException("log4net configuration file '" + configFile + "' does not exists"); } } switch (configType) { case "INLINE": _runtime.XmlConfiguratorConfigure(); break; case "FILE": _runtime.XmlConfiguratorConfigure(configFile); break; case "FILE-WATCH": _runtime.XmlConfiguratorConfigureAndWatch(configFile); break; case "EXTERNAL": // Log4net will be configured externally. break; default: _runtime.BasicConfiguratorConfigure(); break; } }
/// <summary> /// Initializes a new instance of the <see cref="SitecoreLoggerFactoryAdapter"/> class. /// Constructor accepting configuration properties and an arbitrary /// <see cref="T:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter.ILog4NetRuntime"/> instance. /// </summary> /// <param name="properties"> /// configuration properties, see /// <see cref="T:Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter"/> for more. /// </param> /// <param name="runtime"> /// a log4net runtime adapter /// </param> protected SitecoreLoggerFactoryAdapter(NameValueCollection properties, ILog4NetRuntime runtime) : base(true) { if (runtime == null) { throw new ArgumentNullException(nameof(runtime)); } this.runtime = runtime; var str1 = ArgUtils.GetValue(properties, "configType", string.Empty).ToUpper(); var str2 = ArgUtils.GetValue(properties, "configFile", string.Empty); if (str2.StartsWith("~/") || str2.StartsWith("~\\")) { str2 = $"{AppDomain.CurrentDomain.BaseDirectory.TrimEnd('/', '\\')}/{str2.Substring(2)}"; } if (str1 == "FILE" || str1 == "FILE-WATCH") { if (str2 == string.Empty) { throw new ConfigurationException( "Configuration property 'configFile' must be set for Sitecore.Logging log4Net configuration of type 'FILE' or 'FILE-WATCH'."); } if (!File.Exists(str2)) { throw new ConfigurationException("Sitecore.Logging log4net configuration file '" + str2 + "' does not exists"); } } switch (str1) { case "INLINE": this.runtime.XmlConfiguratorConfigure(); break; case "FILE": this.runtime.XmlConfiguratorConfigure(str2); break; case "FILE-WATCH": this.runtime.XmlConfiguratorConfigureAndWatch(str2); break; case "EXTERNAL": break; default: this.runtime.BasicConfiguratorConfigure(); break; } }