示例#1
0
        private static void InitializeLogger(ToolOptions options)
        {
            var config = new LoggerConfiguration();

            config.WriteTo.Console(outputTemplate: "{Message:lj}{NewLine}{Exception}", theme: AnsiConsoleTheme.Code);
            if (options.Verbose)
            {
                config.MinimumLevel.Debug();
            }
            else
            {
                config.MinimumLevel.Information();
            }
            Log.Logger = config.CreateLogger();
            Log.Debug("Logger initialized.");
        }
示例#2
0
        private static void Execute(ToolOptions options)
        {
            InitializeLogger(options);
            try
            {
                Log.Debug("Connecting to sps.");
                var connection = SafeguardForPrivilegedSessions.Connect(
                    options.Address,
                    options.Username,
                    options.Password.ToSecureString(),
                    options.Insecure);

                string responseBody;
                if (!string.IsNullOrEmpty(options.File))
                {
                    responseBody = File.ReadAllText(options.File);
                }
                else
                {
                    responseBody = options.Body;
                }
                Log.Debug("Invoking method on sps.", options.Method, options.RelativeUrl, responseBody);

                var result = connection.InvokeMethodFull(
                    options.Method,
                    options.RelativeUrl,
                    options.Body);

                Console.Write(result.Body);
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Fatal exception occurred");
                Environment.Exit(1);
            }
        }