/// <summary>
        /// Initializes new instance of Pkcs11InteropLogger class
        /// </summary>
        /// <param name="logger">Logger implementation</param>
        internal Pkcs11InteropLogger(IPkcs11InteropLogger logger)
        {
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            _logger = logger;
        }
        /// <summary>
        /// Creates logger for type
        /// </summary>
        /// <param name="type">Type for which logger should be created</param>
        /// <returns>Logger for specified type</returns>
        public static Pkcs11InteropLogger GetLogger(Type type)
        {
            IPkcs11InteropLogger logger = _loggerFactory.CreateLogger(type);

            return(new Pkcs11InteropLogger(logger));
        }