def __init__(self, connection=None, echo=False):
log.setLevel(logging.INFO)<EOL>handler = logging.FileHandler(os.path.join(PYUNIPROT_DIR, defaults.TABLE_PREFIX + '<STR_LIT>'))<EOL>handler.setLevel(logging.INFO)<EOL>formatter = logging.Formatter('<STR_LIT>')<EOL>handler.setFormatter(formatter)<EOL>log.addHandler(handler)<EOL>try:<EOL><INDENT>self.connection = get_connection_string(connection)<EOL>self.engine = sqlalchemy.create_engine(self.connection, echo=echo)<EOL>self.inspector = reflection.Inspector.from_engine(self.engine)<EOL>self.sessionmaker = sessionmaker(<EOL>bind=self.engine,<EOL>autoflush=False,<EOL>autocommit=False,<EOL>expire_on_commit=True<EOL>)<EOL>self.session = scoped_session(self.sessionmaker)<EOL><DEDENT>except:<EOL><INDENT>log.warning('<STR_LIT>')<EOL><DEDENT>
:param str connection: SQLAlchemy 
:param bool echo: True or False for SQL output of SQLAlchemy engine