Esempio n. 1
0
        /// <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
        }
Esempio n. 2
0
        public void AdapterProperty()
        {
            ILoggerFactoryAdapter adapter = new NoOpLoggerFactoryAdapter();

            LogManager.Adapter = adapter;
            Assert.AreSame(adapter, LogManager.Adapter);

            Assert.Throws <ArgumentNullException>(delegate { LogManager.Adapter = null; });
        }
Esempio n. 3
0
        /// <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);
        }