/// <summary> /// Builds the logger factory adapter. /// </summary> /// <returns>a factory adapter instance. Is never <c>null</c>.</returns> private static ILoggerFactoryAdapter BuildLoggerFactoryAdapter() { #if UNITY3D ILoggerFactoryAdapter defaultFactory = new UnityDebugLoggerFactoryAdapter(); return(defaultFactory); #else object sectionResult = null; ArgUtils.Guard(delegate { sectionResult = ConfigurationReader.GetSection(COMMON_LOGGING_SECTION); } , "Failed obtaining configuration for Common.Logging from configuration section 'common/logging'."); // configuration reader returned <null> if (sectionResult == null) { string message = (ConfigurationReader.GetType() == typeof(DefaultConfigurationReader)) ? string.Format("no configuration section <{0}> found - suppressing logging output", COMMON_LOGGING_SECTION) : string.Format("Custom ConfigurationReader '{0}' returned <null> - suppressing logging output", ConfigurationReader.GetType().FullName); #if PORTABLE Debug.WriteLine(message); #else Trace.WriteLine(message); #endif ILoggerFactoryAdapter defaultFactory = new NoOpLoggerFactoryAdapter(); return(defaultFactory); } // ready to use ILoggerFactoryAdapter? if (sectionResult is ILoggerFactoryAdapter) { #if PORTABLE Debug.WriteLine(string.Format("Using ILoggerFactoryAdapter returned from custom ConfigurationReader '{0}'", ConfigurationReader.GetType().FullName)); #else Trace.WriteLine(string.Format("Using ILoggerFactoryAdapter returned from custom ConfigurationReader '{0}'", ConfigurationReader.GetType().FullName)); #endif return((ILoggerFactoryAdapter)sectionResult); } // ensure what's left is a LogSetting instance ArgUtils.Guard(delegate { ArgUtils.AssertIsAssignable <LogSetting>("sectionResult", sectionResult.GetType()); } , "ConfigurationReader {0} returned unknown settings instance of type {1}" , ConfigurationReader.GetType().FullName, sectionResult.GetType().FullName); ILoggerFactoryAdapter adapter = null; ArgUtils.Guard(delegate { adapter = BuildLoggerFactoryAdapterFromLogSettings((LogSetting)sectionResult); } , "Failed creating LoggerFactoryAdapter from settings"); return(adapter); #endif }
public void AdapterProperty() { ILoggerFactoryAdapter adapter = new NoOpLoggerFactoryAdapter(); LogManager.Adapter = adapter; Assert.AreSame(adapter, LogManager.Adapter); Assert.Throws <ArgumentNullException>(delegate { LogManager.Adapter = null; }); }
/// <summary> /// Builds the logger factory adapter. /// </summary> /// <returns>a factory adapter instance. Is never <c>null</c>.</returns> private static ILoggerFactoryAdapter BuildLoggerFactoryAdapter() { // configuration reader returned <null> if (_type == null) { ILoggerFactoryAdapter defaultFactory = new NoOpLoggerFactoryAdapter(); return(defaultFactory); } ILoggerFactoryAdapter adapter = adapter = (ILoggerFactoryAdapter)Activator.CreateInstance(_type); return(adapter); }