protected Robot(LoggerConfigurator logConfig) { LogConfig = logConfig; Logger = logConfig == null ? new TraceLogger(false, "trace", LogLevel.Error, true, false, false, "F") : logConfig.GetLogger(); AutoLoadScripts = true; }
public NuGetPackageAssemblyResolver(LoggerConfigurator logConfig) { _log = logConfig.GetLogger(); AppDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve; RefreshAssemblies(_log); }
public static LoggerConfigurator CreateLogConfig(Options options) { var logConfig = new LoggerConfigurator(options.Verbose ? LogLevel.Debug : LogLevel.Info); if (Environment.UserInteractive) { logConfig.ConfigureForConsole(); } else { logConfig.AddTraceListener(); } var logger = logConfig.GetLogger(); if (!string.IsNullOrWhiteSpace(options.LogFile)) { if (Directory.Exists(Path.GetDirectoryName(options.LogFile))) logConfig.ConfigureForFile(options.LogFile); else logger.Warn(string.Format("Failed to load log file. Path for {0} does not exist.", options.LogFile)); } return logConfig; }
public static Common.Logging.ILog GetConsoleLogger(LogLevel logLevel) { var configurator = new LoggerConfigurator(logLevel); configurator.ConfigureForConsole(); return configurator.GetLogger(); }
public async Task WhenRobotIsReset_ScriptCleanupIsInvoked() { var loggerConfigurator = new LoggerConfigurator(LogLevel.All); var builder = new RobotBuilder(loggerConfigurator) .UseAdapter<StubAdapter>() .UseBrain<StubBrain>() .DisablePluginDiscovery() .DisableScriptDiscovery(); var scriptRunner = new ScriptRunner(loggerConfigurator.GetLogger()); var robot = builder .Build(c => c.Register<IScriptRunner>(scriptRunner)); scriptRunner.Initialize(robot); robot.LoadScript<StubEchoScript>(); bool isCleanedUp = false; using(scriptRunner.StartScriptProcessingSession(new ScriptSource("TestScript", string.Empty))) { robot.RegisterCleanup(() => isCleanedUp = true); } await robot.Reset(); Assert.True(isCleanedUp); }