示例#1
0
    def init(self):
        self.filename, file_extension = os.path.splitext(os.path.basename(__file__))
        config_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), '../config', 'config.ini')
        log_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), '../logs', '%s.log' % self.filename)

        # load config
        self.config = configparser.ConfigParser(strict=False, allow_no_value=True)
        self.config.read(config_file)

        # init logger
        logbook.set_datetime_format("local")
        self.logger = logbook.Logger(name=self.filename)
        format_string = '%s %s' % ('[{record.time:%Y-%m-%d %H:%M:%S.%f%z}] {record.level_name}',
                                   '{record.channel}:{record.lineno}: {record.message}')
        if self.config.has_option('handler_stream_handler', 'verbose'):
            loghandler = logbook.StreamHandler(sys.stdout, level=self.config.get('Logger', 'level'), bubble=True,
                                               format_string=format_string)
            self.logger.handlers.append(loghandler)
            loghandler = logbook.TimedRotatingFileHandler(log_file, level=self.config.get('Logger', 'level'),
                                                          date_format='%Y%m%d', backup_count=5, bubble=True,
                                                          format_string=format_string)
            self.logger.handlers.append(loghandler)
        else:
            loghandler = logbook.TimedRotatingFileHandler(log_file, level=self.config.get('Logger', 'level'),
                                                          date_format='%Y%m%d', backup_count=5, bubble=True,
                                                          format_string=format_string)
            self.logger.handlers.append(loghandler)

        self.db = NewsparserDatabaseHandler.instantiate_from_configparser(self.config, self.logger)
示例#2
0
def my_logger(original_function,
              filename="logfileFF.log"):  ###THIS IS WHERE I'M STRUGGLING
    import logbook
    import sys
    level = logbook.TRACE

    if filename:
        logbook.TimedRotatingFileHandler(filename,
                                         level=level).push_application()
    else:
        logbook.StreamHandler(sys.stdout, level=level).push_application()

    msg = f"Logging Initialized. level: {level}, mode: {'stdout mode' if not filename else 'file mode: ' + filename}"
    logger = logbook.Logger("Startup level")
    logger.notice(msg)
    logger.trace(f"Starting request for city id: {city_id}")

    def wrapper(*args, **kwargs):

        result = original_function(*args, **kwargs)

        wrap_logger = logbook.Logger("Wrapper Level")
        wrap_logger.trace(f"Search finished for city id: {city_id}")

        return result

    return wrapper
def main():
    logbook.TimedRotatingFileHandler(
        "rpg_log.log", level=logbook.TRACE
    ).push_application()
    app_logger = logbook.Logger("App")
    try:
        app_logger.trace("Setting up game ...")
        game = Game()
        app_logger.trace("Game setup finished")
    except Exception as e:
        print(f"There was an error setting up the game: {e}")
        app_logger.error("There was an error setting up the game:")
        app_logger.exception(e)
        return
    game.print_header()
    try:
        app_logger.trace("Entering Game Loop")
        game.loop()
        app_logger.trace("Exited game loop normally")
    except KeyboardInterrupt as e:
        print(f"\nKeyboard Interrupt: Quitting the game...")
        app_logger.warn("Keyboard Interrupt: Quitting the game...")
    except Exception as e:
        print(f"Exception during the game:{e}")
        app_logger.error("Uncaught exception, exiting the game")
        app_logger.exception(e)
示例#4
0
    def test_timed_rotating_file_handler(self):
        basename = os.path.join(self.dirname, 'trot.log')
        handler = logbook.TimedRotatingFileHandler(basename, backup_count=3)
        handler.format_string = '[{record.time:%H:%M}] {record.message}'

        def fake_record(message, year, month, day, hour=0,
                        minute=0, second=0):
            lr = logbook.LogRecord('Test Logger', logbook.WARNING,
                                   message)
            lr.time = datetime(year, month, day, hour, minute, second)
            return lr

        with handler:
            for x in xrange(10):
                handler.handle(fake_record('First One', 2010, 1, 5, x + 1))
            for x in xrange(20):
                handler.handle(fake_record('Second One', 2010, 1, 6, x + 1))
            for x in xrange(10):
                handler.handle(fake_record('Third One', 2010, 1, 7, x + 1))
            for x in xrange(20):
                handler.handle(fake_record('Last One', 2010, 1, 8, x + 1))

        files = [x for x in os.listdir(self.dirname) if x.startswith('trot')]
        files.sort()
        self.assertEqual(files, ['trot-2010-01-06.log', 'trot-2010-01-07.log',
                                 'trot-2010-01-08.log'])
        with open(os.path.join(self.dirname, 'trot-2010-01-08.log')) as f:
            self.assertEqual(f.readline().rstrip(), '[01:00] Last One')
            self.assertEqual(f.readline().rstrip(), '[02:00] Last One')
        with open(os.path.join(self.dirname, 'trot-2010-01-07.log')) as f:
            self.assertEqual(f.readline().rstrip(), '[01:00] Third One')
            self.assertEqual(f.readline().rstrip(), '[02:00] Third One')
示例#5
0
def get_logger(name='appium', file_log=file_stream, level=''):
    logbook.set_datetime_format('local')
    ColorizedStderrHandler(bubble=False, level=level).push_thread()
    logbook.TimedRotatingFileHandler(
            os.path.join(LOG_DIR, '%s.log' % name),
            date_format='%Y-%m-%d-%H', bubble=True, encoding='utf-8').push_thread()
    return logbook.Logger(name)
示例#6
0
def initLogger(filename, fileLogFlag=True, stdOutFlag=False):
    LOG_DIR = os.path.join('log')
    if not os.path.exists(LOG_DIR):
        os.makedirs(LOG_DIR)

    logbook.set_datetime_format('local')

    logger = logbook.Logger(filename)
    logger.handlers = []

    if fileLogFlag:
        logFile = logbook.TimedRotatingFileHandler(os.path.join(
            LOG_DIR, '%s.log' % 'log'),
                                                   date_format='%Y-%m-%d',
                                                   bubble=True,
                                                   encoding='utf-8')
        logFile.formatter = logFormate
        logger.handlers.append(logFile)

    if stdOutFlag:
        logStd = logbook.more.ColorizedStderrHandler(bubble=True)
        logStd.formatter = logFormate
        logger.handlers.append(logStd)

    return logger
示例#7
0
文件: main.py 项目: jevic/logcenter
def get_logger(name=APP_NAME, file_log=False):
    logbook.set_datetime_format('local')
    ## 是否输出到sys.stdout
    ColorizedStderrHandler(bubble=False).push_application()
    if file_log:
        logbook.TimedRotatingFileHandler(LOG_PATH, date_format='%Y%m%d', bubble=True).push_application()
    return logbook.Logger(name)
示例#8
0
def test_timed_rotating_file_handler(tmpdir, activation_strategy, backup_count):
    basename = str(tmpdir.join('trot.log'))
    handler = logbook.TimedRotatingFileHandler(
        basename, backup_count=backup_count)
    handler.format_string = '[{record.time:%H:%M}] {record.message}'

    def fake_record(message, year, month, day, hour=0,
                    minute=0, second=0):
        lr = logbook.LogRecord('Test Logger', logbook.WARNING,
                               message)
        lr.time = datetime(year, month, day, hour, minute, second)
        return lr

    with activation_strategy(handler):
        for x in xrange(10):
            handler.handle(fake_record('First One', 2010, 1, 5, x + 1))
        for x in xrange(20):
            handler.handle(fake_record('Second One', 2010, 1, 6, x + 1))
        for x in xrange(10):
            handler.handle(fake_record('Third One', 2010, 1, 7, x + 1))
        for x in xrange(20):
            handler.handle(fake_record('Last One', 2010, 1, 8, x + 1))

    files = sorted(x for x in os.listdir(str(tmpdir)) if x.startswith('trot'))

    assert files == ['trot-2010-01-0{0}.log'.format(i)
                     for i in xrange(5, 9)][-backup_count:]
    with open(str(tmpdir.join('trot-2010-01-08.log'))) as f:
        assert f.readline().rstrip() == '[01:00] Last One'
        assert f.readline().rstrip() == '[02:00] Last One'
    if backup_count > 1:
        with open(str(tmpdir.join('trot-2010-01-07.log'))) as f:
            assert f.readline().rstrip() == '[01:00] Third One'
            assert f.readline().rstrip() == '[02:00] Third One'
示例#9
0
def main():
    # Set up logging for the whole app
    util.ensure_dir(LOG_FILENAME)
    logbook.TimedRotatingFileHandler(LOG_FILENAME, bubble=True).push_application()
    logbook.StreamHandler(sys.stdout, level="NOTICE", bubble=True).push_application()
    log = logbook.Logger(__name__.split(".", 1)[-1])

    log.info("*" * 80)
    log.info("***" + "Starting CLI Parser for binance-monitor".center(74) + "***")
    log.info("*" * 80)

    parser = argparse.ArgumentParser(
        description="CLI for monitoring Binance account information"
    )
    parser.add_argument(
        "--update", help="Update trades from server", action="store_true"
    )
    parser.add_argument(
        "--force",
        help="Update trades for all symbols, regardless of blacklist",
        action="store_true",
    )
    parser.add_argument("--listen", help="Listen for new trades", action="store_true")
    parser.add_argument("--blacklist", help="Add symbol(s) to blacklist", nargs="*")
    parser.add_argument(
        "--whitelist", help="Remove symbol(s) from blacklist", nargs="*"
    )
    parser.add_argument(
        "--csv", help="Write out CSV file of trades (from cache)", action="store_true"
    )

    args = parser.parse_args()

    acct_monitor = monitor.AccountMonitor()

    blacklist_from_cli(args.blacklist or None)
    whitelist_from_cli(args.whitelist or None)

    force_all = True if args.force else False

    if args.update:
        acct_monitor.get_all_trades(force_all=force_all)
        acct_monitor.trade_store.save()

    if args.listen:
        acct_monitor.start_user_monitor()

        while True:
            try:
                time.sleep(60 * 60 * 24)
            except KeyboardInterrupt:
                print("\nExit requested...")
                break

    if args.csv:
        acct_monitor.trade_store.to_csv()

    if reactor.running:
        reactor.callFromThread(reactor.stop)
示例#10
0
def init_logging(filename: str = None):
    level = logbook.TRACE

    if filename:
        logbook.TimedRotatingFileHandler(
            filename, level=level).push_application()  # default date format
    else:
        logbook.StreamHandler(sys.stdout, level=level).push_application()
示例#11
0
def get_logger(name='jiekou', file_log=file_stream, level=''):
    """ get logger Factory function """
    logbook.set_datetime_format('local')
    ColorizedStderrHandler(bubble=False, level=level).push_thread()
    logbook.TimedRotatingFileHandler(
        os.path.join(log_path, '%s.log' % name),
        date_format='%Y-%m-%d-%H', bubble=True, encoding='utf-8').push_thread()
    return logbook.Logger(name)
示例#12
0
def get_logger(name="interface_Test", file_log=file_stream, level=''):
    """ get logger Factory function """
    logbook.set_datetime_format("local")
    ColorizedStderrHandler(bubble=False, level=level).push_thread()
    logbook.TimedRotatingFileHandler(
        os.path.join(LOG_DIR, "%s.log" %"Log"),
        date_format="%Y-%m-%d-%H", bubble=True, encoding="utf-8").push_thread()
    return logbook.Logger(name)
示例#13
0
文件: location_api.py 项目: hickc/py
def logging_init(logfile=None):
    if logfile:
        logbook.TimedRotatingFileHandler(
            logfile, level=logbook.INFO,
            date_format='%Y-%m-%d').push_application()
    else:
        logbook.StreamHandler(sys.stdout,
                              level=logbook.INFO).push_application()
    def init(self):
        """init all helpers and services"""
        self.filename, file_extension = os.path.splitext(os.path.basename(__file__))

        # parse argument
        parser = argparse.ArgumentParser()
        parser.add_argument("--configdir", help="your config.ini directory", type=str)
        parser.add_argument("--logdir", help="your log directory", type=str)
        args = parser.parse_args()

        # determine config directory
        if args.configdir:
            config_file = os.path.join(args.configdir, 'config.ini')
        else:
            config_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), '../config', 'config.ini')

        if args.logdir:
            log_file = os.path.join(args.logdir, '%s.log' % self.filename)
        else:
            log_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), '../logs', '%s.log' % self.filename)

        # load config
        self.config = configparser.ConfigParser()
        self.config.read(config_file)

        # init logger
        logbook.set_datetime_format("local")
        self.logger = logbook.Logger(name=self.filename)
        format_string = '%s %s' % ('[{record.time:%Y-%m-%d %H:%M:%S.%f%z}] {record.level_name}',
                                   '{record.module}:{record.lineno}: {record.message}')
        if self.config.has_option('handler_stream_handler', 'verbose'):
            log_handler = logbook.StreamHandler(sys.stdout, level=self.config.get('Logger', 'level'), bubble=True,
                                                format_string=format_string)
            self.logger.handlers.append(log_handler)
            log_handler = logbook.TimedRotatingFileHandler(log_file, level=self.config.get('Logger', 'level'),
                                                           date_format='%Y%m%d', backup_count=5, bubble=True,
                                                           format_string=format_string)
            self.logger.handlers.append(log_handler)
        else:
            log_handler = logbook.TimedRotatingFileHandler(log_file, level=self.config.get('Logger', 'level'),
                                                           date_format='%Y%m%d', backup_count=5, bubble=True,
                                                           format_string=format_string)
            self.logger.handlers.append(log_handler)

        # init database
        self.solrForum = SolrForumHandler.get_instance((self.config.get('Solr', 'solr_forum_url')), True)
示例#15
0
def global_init(logfile):
    if logfile:
        logbook.TimedRotatingFileHandler(
            logfile, level=logbook.Info,
            date_format='%Y-%m-%d').push_application()
    else:
        logbook.StreamHandler(sys.stdout,
                              level=logbook.TRACE).push_application()
示例#16
0
def logging_register():
    level = logbook.TRACE
    log_filename = None

    if not log_filename:
        logbook.StreamHandler(sys.stdout, level=level).push_application()
    else:
        logbook.TimedRotatingFileHandler(log_filename,
                                         level=level).push_application()
示例#17
0
 def __init__(self, name, loop=None):
     self._name = name
     self._log_handler = logbook.TimedRotatingFileHandler(
         '{}-p{}.log'.format(name, os.getpid()),
         format_string=AsyncApp.LOG_FORMAT)
     self._loop = loop if loop else asyncio.get_event_loop()
     self._loop.add_signal_handler(signal.SIGINT, self._on_sigint)
     self._run_cbs = set()
     self._shutdown_cbs = set()
示例#18
0
def init_logging(filename: str = None):
    level = logbook.TRACE
    log_filename = "logbook"

    if not log_filename:
        logbook.StreamHandler(sys.stdout, level=level).push_application()
    else:
        logbook.TimedRotatingFileHandler(log_filename,
                                         level=level).push_application()
示例#19
0
def init_logging():
    level = logbook.TRACE

    logbook.TimedRotatingFileHandler('logs.log',
                                     level=level).push_application()

    msg = 'Logging initialized, level: {}, mode: {}'.format(
        level, 'file mode: logs.log')
    logger = logbook.Logger('Startup')
    logger.notice(msg)
示例#20
0
def init_logging(filename: str = None):
    level = logbook.TRACE
    if filename:
        logbook.TimedRotatingFileHandler(filename, level=level).push_application()
    else:
        logbook.StreamHandler(sys.stdout, level=level).push_application()
    msg = f"Logging initialized: level = {level}"

    logger = logbook.Logger('Startup')
    logger.notice(msg)
示例#21
0
文件: log.py 项目: xxf1110409046/py
def get_logger(name='接口', level=''):
    #设置时间格式
    logbook.set_datetime_format('local')
    ColorizedStderrHandler(bubble=False, level=level).push_thread()
    logbook.TimedRotatingFileHandler(os.path.join(path, '%s.log' % name),
                                     date_format='%Y-%m-%d-%H',
                                     bubble=True,
                                     encoding='utf-8').push_thread()
    #print('join_path =' + os.path.join(path,'%s.log' % name))
    return logbook.Logger(name)
示例#22
0
def metadata(path, email, update):
    """Download assembly_summary.txt and BioSample metadata."""
    logbook.set_datetime_format("local")
    handler = logbook.TimedRotatingFileHandler(os.path.join(
        path, ".logs", "metadata.log"),
                                               backup_count=10)
    handler.push_application()
    genbank = Genbank(path)
    metadata = genbank.metadata(email=email, update=update)
    genbank.species_metadata(metadata)
示例#23
0
def setup_logging(filename):
    level = logbook.TRACE

    if filename:
        logbook.TimedRotatingFileHandler(filename, level=level).push_application()
    else:
        logbook.StreamHandler(sys.stdout, level=level).push_application()

    msg = f'Logging initialized, level: {level}, mode: {filename}'
    logger = logbook.Logger('Startup')
    logger.notice(msg)
示例#24
0
def setup_logging(filename=None):
    level = logbook.TRACE
    log_filename = filename
    if not log_filename:
        logbook.StreamHandler(sys.stdout, level=level).push_application()
    else:
        logbook.TimedRotatingFileHandler(log_filename,
                                         level=level).push_application()

    app_log = logbook.Logger('Movie App')
    return app_log
示例#25
0
def init_logging(filename: str = None):
    level = logbook.TRACE
    if filename:
        logbook.TimedRotatingFileHandler(filename,
                                         level=level).push_application()
    else:
        logbook.StreamHandler(sys.stdout, level=level).push_application()

    msg = f'Logging initialized, level: {level}, mode: {"stdout mode" if not filename else "file mode: " + filename}'
    logger = logbook.Logger('Startup')
    logger.notice(msg)
示例#26
0
def get_logger(name='interface', level=''):
    """ get logger Factory function """
    logbook.set_datetime_format('local')
    # 打印到屏幕句柄

    ColorizedStderrHandler(bubble=False, level=level).push_thread()
    # 打印到文件句柄
    logbook.TimedRotatingFileHandler(os.path.join(LOG_DIR, '%s.log' % name),
                                     date_format='%Y-%m-%d-%H',
                                     bubble=True,
                                     encoding='utf-8').push_thread()
    return logbook.Logger(name)
示例#27
0
def cli(ctx, path):
    """Assess the integrity of your genomes through automated analysis of
    species-based statistics and metadata.
    """
    if ctx.invoked_subcommand is None:
        logbook.set_datetime_format("local")
        handler = logbook.TimedRotatingFileHandler(os.path.join(
            path, ".logs", "qc.log"),
                                                   backup_count=10)
        handler.push_application()
        genbank = Genbank(path)
        genbank.qc()
示例#28
0
 def qc(self):
     self.prune()
     for species in self.species():
         logbook.set_datetime_format("local")
         handler = logbook.TimedRotatingFileHandler(Path(
             species.path, ".logs", "qc.log"),
                                                    backup_count=10)
         handler.push_application()
         try:
             species.qc()
         except Exception:
             self.log.exception(f"qc command failed for {species.name}")
示例#29
0
def init_logging(filename=None):
    level = logbook.TRACE
    if filename is not None:
        logbook.TimedRotatingFileHandler(filename,
                                         level=level).push_application()
    else:
        logbook.StreamHandler(sys.stdout, level=level).push_application()
    msg = 'Logging initialized, level: {}, mode: {}'.format(
        level, "stdout mode"
        if filename is None else "file mode: {}".format(filename))
    logger = logbook.Logger('Startup')
    logger.notice(msg)
    def get_logger(self):
        # Determine config directory
        log_file = os.path.join(
            os.path.abspath(os.path.dirname(__file__)),
            "../logs",
            "%s.log" % self.filename,
        )
        # init logger
        logbook.set_datetime_format("local")
        format_string = "%s %s" % (
            "[{record.time:%Y-%m-%d %H:%M:%S.%f%z}] {record.level_name}",
            "{record.module}:{record.lineno}: {record.message}",
        )
        if not self.verbose:
            log_handler = logbook.TimedRotatingFileHandler(
                log_file,
                level="INFO",
                date_format="%Y%m%d",
                backup_count=5,
                bubble=True,
                format_string=format_string,
            )
            self._logger.handlers.append(log_handler)

        log_handler = logbook.StreamHandler(sys.stdout,
                                            level="DEBUG",
                                            bubble=True,
                                            format_string=format_string)
        self._logger.handlers.append(log_handler)
        log_handler = logbook.TimedRotatingFileHandler(
            log_file,
            level="DEBUG",
            date_format="%Y%m%d",
            backup_count=5,
            bubble=True,
            format_string=format_string,
        )
        self._logger.handlers.append(log_handler)

        return self._logger