我尝试为我的Discord机器人添加一些日志记录器,以便不仅可以在控制台中查看日志,还能将其记录到文件中。显然当我重启应用程序时发现我必须查看已经销毁的日志,这非常让人烦恼。我像这样设置它:
logging.basicConfig(filename='CoronaLog.log', level=logging.DEBUG, format='%(levelname)s %(asctime)s %(message)s')
我曾经吃了亏,发现discord.py库有自己的日志记录器,所以我的日志看起来像一个大混乱,有没有办法禁用discord.py的日志记录,或者将其输出到另一个文件中?
编辑:我尝试创建两个日志记录器,代码如下:
logging.basicConfig(filename='discord.log', level=logging.DEBUG, format='%(levelname)s %(asctime)s %(message)s')
nonDiscordLog = logging.getLogger('discord')
handler = logging.FileHandler(filename='CoronaLog.log', encoding='utf-8', mode='w')
handler.setFormatter(logging.Formatter('%(levelname)s %(asctime)s:%(name)s: %(message)s'))
nonDiscordLog.addHandler(handler)
因此,Discord日志将按照基本配置中的设置被记录到discord.log
文件中,并在执行以下命令时:
nonDiscordLog.info("execution took %s seconds \n" % (time.time() - startTime))
尽管它没有真正改变任何内容,但会登录到 CoronaLog.log
文件中。