コード例 #1
0
def init():
    file_handler = logging.FileHandler(
        path.join(path.dirname(__file__), "log", "mybot.log"))
    file_handler.setLevel(level=logging.INFO)
    formatter = logging.Formatter(
        "%(asctime)s - %(name)s - %(levelname)s - %(message)s")
    file_handler.setFormatter(formatter)
    logger.addHandler(file_handler)
    logger.info("初始化完毕!准备开始启动服务!")
コード例 #2
0
def initApp() -> Quart:
    assert nonebot.scheduler  # Check if scheduler exists
    # Initialize logging
    loggingPath = os.path.join(LOG_FILE_DIR, "{time}.log")
    loguruHandler = _LoguruHandler()
    loguruLogger.add(loggingPath, enqueue=True, encoding="utf-8")
    botLogger.handlers.clear()
    botLogger.addHandler(loguruHandler)
    # Initialize settings
    nonebot.init(settings)
    nonebot.load_plugins("plugins", "plugins")
    nonebot.logger.debug(
        f"The robot is currently configured as: {convertSettingsToDict()}"
    )
    bot = nonebot.get_bot()
    bot.logger.handlers.clear()
    bot.logger.addHandler(_LoguruHandler())
    return bot.asgi
コード例 #3
0
ファイル: client.py プロジェクト: nonebot/nonebot
    def patch_nonebot(self):
        '''
        Patches the logger so that we can copy the logging output from nonebot.
        Add a stop endpoint so that we can exit NoneBot thread.
        '''
        que = self.nb_log_queue

        class _Handler(logging.Handler):
            def emit(self, record: logging.LogRecord) -> None:
                que.put_nowait(record)

        from nonebot.log import logger
        logger.addHandler(_Handler())

        from nonebot import get_bot
        bot = get_bot()

        @bot.server_app.route('/exit')
        async def _():
            import sys
            sys.exit(0)
コード例 #4
0
ファイル: bot.py プロジェクト: SK-415/dd-bot
                'plugins.' + dirname)
            # 检查是否有对应 data 文件夹, 没有就创建一个
            if not path.isdir(path.join('data', dirname)):
                os.makedirs(path.join('data', dirname))

    # # 设置 DEBUG 日志
    # debug_handler = logging.handlers.TimedRotatingFileHandler(
    #     filename=path.join('log', 'debug.log'),
    #     when='midnight',
    #     interval=1,
    #     backupCount=3, # 保留日志个数, 0不删除
    #     encoding='utf-8'
    #     )
    # debug_handler.setLevel(logging.DEBUG)
    # debug_handler.setFormatter(logging.Formatter("[%(asctime)s] %(levelname)s: %(message)s"))
    # logger.addHandler(debug_handler)

    # 设置 ERROR 日志
    error_handler = logging.handlers.TimedRotatingFileHandler(
        filename=path.join('log', 'error.log'),
        when='midnight',
        interval=1,
        backupCount=3,  # 保留日志个数, 0不删除
        encoding='utf-8')
    error_handler.setLevel(logging.ERROR)
    error_handler.setFormatter(
        logging.Formatter("[%(asctime)s] %(levelname)s: %(message)s"))
    logger.addHandler(error_handler)

    nonebot.run()
コード例 #5
0
import os
from pathlib import Path
from nonebot.log import logger as nblogger
from logging import handlers, Formatter

_dir_name = "logs"
if not os.path.exists(_dir_name):
    os.mkdir(_dir_name)
log_dir = Path(_dir_name)

# 往文件里写入 指定间隔时间自动生成文件的处理器
# 实例化TimedRotatingFileHandler
# interval是时间间隔,backupCount是备份文件的个数,如果超过这个个数,就会自动删除
# when是间隔的时间单位,单位有以下几种:
# S 秒 M 分 H 小时、 D 天、 W 每星期(interval==0时代表星期一)
fh = handlers.TimedRotatingFileHandler(
    filename=str(log_dir / "nonebot.log"),
    when="D",
    backupCount=30,
    encoding="utf-8",
)
fh.setFormatter(
    Formatter(
        "[%(asctime)s %(name)s] %(levelname)s: [%(filename)s %(funcName)s] > %(message)s",
        "%Y-%m-%d %H:%M:%S",
    ))
nblogger.addHandler(fh)
コード例 #6
0
ファイル: bot.py プロジェクト: Ailitonia/nonebot_miya
    # 创建日志文件
    if not os.path.exists(os.path.join(os.path.dirname(__file__), 'omega_miya', 'log', log_file_name)):
        # 注意windowds下是没有node的,只能用open方法创建文件
        try:
            os.mknod(os.path.join(os.path.dirname(__file__), 'omega_miya', 'log', log_file_name))
            logger.info(log_file_name + ': 日志文件已创建')
        except AttributeError:
            log_path = os.path.dirname(__file__) + '/omega_miya/log/' + log_file_name
            with open(log_path, 'w+') as f:
                logger.info(log_file_name + ': 日志文件已创建')
    f_handler = logging.FileHandler(
        os.path.join(os.path.dirname(__file__), 'omega_miya', 'log', log_file_name), encoding="utf-8")
    f_handler.setFormatter(
        logging.Formatter('[%(asctime)s %(name)s] %(levelname)s: %(message)s'))
    # 增加日志文件输出
    logger.addHandler(f_handler)
    # 设置输出级别
    logger.setLevel(logging.INFO)

    # 加载数据库模块
    try:
        nonebot.load_plugins(
            os.path.join(os.path.dirname(__file__), 'omega_miya', 'database'),
            'omega_miya.database'
        )
    except Exception as e:
        nonebot.log.logger.error(f'NONEBOT Init Database ERROR: {e}')
        sys.exit(f'Init Database ERROR: {e}')

    # 从插件文件夹中加载插件
    try: