Exemple #1
0
        /// <summary>
        /// Gets the <see cref="GlobalLogger"/> associated to the specified module.
        /// </summary>
        /// <param name="module">The module name.</param>
        /// <param name="minimumLevel">Minimum log level (only applied if new logger instance is created)</param>
        /// <exception cref="ArgumentNullException">If module name is null</exception>
        /// <returns>An instance of a <see cref="Logger"/></returns>
        public static Logger GetLogger([NotNull] string module, LogMessageType minimumLevel)
        {
            if (module == null)
            {
                throw new ArgumentNullException(nameof(module));
            }

            Logger logger;

            lock (MapModuleNameToLogger)
            {
                if (!MapModuleNameToLogger.TryGetValue(module, out logger))
                {
                    logger = new GlobalLogger(module);
                    logger.ActivateLog(minimumLevel);
                    MapModuleNameToLogger.Add(module, logger);
                }
            }
            return(logger);
        }
Exemple #2
0
        /// <summary>
        ///   Gets the <see cref="Logger"/> associated to the specified module.
        /// </summary>
        /// <param name="module">The module name.</param>
        /// <param name="minimumLevel">Minimum log level (only applied if a new logger is created).</param>
        /// <returns>A <see cref="Logger"/>.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="module"/> is a <c>null</c> reference.</exception>
        public static Logger GetLogger([NotNull] string module, LogMessageType minimumLevel)
        {
            if (module is null)
            {
                throw new ArgumentNullException(nameof(module));
            }

            lock (g_LoggersByModuleName)
            {
                if (g_LoggersByModuleName.TryGetValue(module, out Logger logger))
                {
                    return(logger);
                }

                logger = new GlobalLogger(module);
                logger.ActivateLog(minimumLevel);
                g_LoggersByModuleName.Add(module, logger);

                return(logger);
            }
        }