コード例 #1
0
        public static void Main(string[] args)
        {
            AbstractLogger logger = CreateChain();

            logger.Log(AbstractLogger.LogLevel.Debug, "Das ist eine Debugnachricht");
            logger.Log(AbstractLogger.LogLevel.Error,
                       "ACHTUNG!!!! Es ist ein Fehler aufgetreten! Lanch the Cyber-nuke");
            logger.Log(AbstractLogger.LogLevel.Info, "Das ist eine infomative Informationsnachricht!");
        }
コード例 #2
0
 public void Log(int level, string message)
 {
     if (this.level == level)
     {
         Write(message);
     }
     else
     {
         NextLogger.Log(level, message);
     }
 }
コード例 #3
0
        public static void Log(LoggerType type, string source, string message)
        {
            switch (type)
            {
            case LoggerType.Console:
                baseLogger = new ConsoleLogger();
                break;

            case LoggerType.File:
                baseLogger = new FileLogger();
                break;

            default:
                baseLogger = new FileLogger();
                break;
            }
            baseLogger.Log(source, message);
        }
コード例 #4
0
 public void Navigate(string url, TimeSpan timeout, bool noWait)
 {
     url = ValidateUrl(url);
     if (!noWait)
     {
         webDriver.Navigate().GoToUrl(url);
         WebDriverWait wait = new WebDriverWait(webDriver, timeout);
         wait.Until(driver => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
     }
     else
     {
         try
         {
             webDriver.JavaScriptExecutor().ExecuteAsyncScript($"window.location.href = '{url}';");
         }
         catch (Exception ex)
         {
             logger.Log(AbstractLogger.Level.Error, $"Problem while navigating to url: '{url}' :  {ex.Message}");
         }
     }
 }