def __init__(self, log_level=logging.WARN):
<EOL>self._log = logging.getLogger('<STR_LIT>')<EOL>self._log.setLevel(log_level)<EOL>log_formatter = logging.Formatter("<STR_LIT>")<EOL>console_logger = logging.StreamHandler()<EOL>console_logger.setLevel(log_level)<EOL>console_logger.setFormatter(log_formatter)<EOL>self._log.addHandler(console_logger)<EOL>self.script_path = os.path.dirname(os.path.realpath(__file__))<EOL>self._schema_path = os.path.join(self.script_path, '<STR_LIT>', '<STR_LIT>')<EOL>with open(self._schema_path) as file:<EOL><INDENT>self._schema = schema(file.read())<EOL><DEDENT>self._tags = {'<STR_LIT>': Condition, '<STR_LIT>': Redirect, '<STR_LIT>': Random, '<STR_LIT>': Var}<EOL>self.conditions = {'<STR_LIT>': UserVarType(), '<STR_LIT>': GlobalVarType(), '<STR_LIT>': TopicType(),<EOL>'<STR_LIT:user>': UserType()}<EOL>self._global_vars   = {}<EOL>self._limits        = {}<EOL>self._users         = {}<EOL>self._triggers      = {}<EOL>self._substitutions = []<EOL>self.request_log = RequestLogger()<EOL>self.response_log = ResponseLogger()<EOL>self.sorted = False<EOL>self._sorted_triggers = []<EOL>self.load_directory(os.path.join(self.script_path, '<STR_LIT>'))<EOL>
Initialize a new AgentML instance

:param log_level: The debug logging level, defaults to logging.WARN
:type  log_level: int