/// <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); }
/// <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); } }