def METHOD_NAME(self):
    monitor_config = {
        "module": "shell_monitor",
        "command": 'echo "foo bar!"',
        "max_characters": 200,
    }
    mock_logger = mock.Mock()
    monitor = ShellMonitor(monitor_config, mock_logger)
    monitor.gather_sample()
    call_args_list = mock_logger.emit_value.call_args_list[0]
    call_args = call_args_list[0]
    call_kwargs = call_args_list[1]
    self.assertEqual(call_args, ("output", "foo bar!"))
    self.assertEqual(call_kwargs["extra_fields"]["command"], 'echo "foo bar!"')
    self.assertEqual(call_kwargs["extra_fields"]["length"], 9)
    self.assertTrue(call_kwargs["extra_fields"]["duration"] <= 1)
    self.assertEqual(call_kwargs["extra_fields"]["exit_code"], 0)