public static IsmartLogger GetSmartCustomLogger(bool invalidate)
 {
     if (smartLoggerCustomInstance == null || invalidate)
     {
         smartLoggerCustomInstance = new SmartCustomLog();
     }
     return(smartLoggerCustomInstance);
 }
        /// <summary>
        /// Function to create Instance for SmartGenericLog or SmartCustomLog
        /// </summary>
        /// <returns></returns>
        public static IsmartLogger GetLogTypeInstance()
        {
            SmartLog objSmart = new SmartLog();
            bool     flag;

            bool result = bool.TryParse(objSmart.GetSettingsFromConfigFile(), out flag);

            if (result)
            {
                if (flag)
                {
                    Log = SmartCustomLog.GetSmartCustomLogger(true);
                    return(Log);
                }
            }
            Log = SmartGenericLog.GetSmartGenericLogger(true);
            return(Log);
        }
        static SmartLog()
        {
            SmartLog objSmart = new SmartLog();
            bool     flag;

            bool result = Boolean.TryParse(objSmart.GetSettingsFromConfigFile(), out flag);

            if (result)
            {
                if (flag)
                {
                    Log = SmartCustomLog.GetSmartCustomLogger(true);
                }
                else
                {
                    Log = SmartGenericLog.GetSmartGenericLogger(true);
                }
            }
        }
 /// <summary>
 /// Invalidate object.
 /// </summary>
 public static void Invalidate()
 {
     smartLoggerCustomInstance = null;
 }