有没有办法在不使用外部模块的情况下将终端输出的日志级别设置为 info,并将 *.log 的日志级别设置为警告?
我为什么要问?我有一个可以运行很长时间的脚本。因此,我想在终端中看到我的代码仍在运行,但不想获取 *.log 文件中的所有信息。只有当日志级别为 30 或更高时,它才会打印到我的日志文件中。
这是非常标准的日志记录配置。只需创建一个记录器并添加一个具有信息级别的流处理程序和一个具有错误级别的文件处理程序。
import logging
fh = logging.FileHandler('logs.txt')
fh.setLevel(logging.ERROR)
sh = logging.StreamHandler()
sh.setLevel(logging.INFO)
logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger.addHandler(fh)
logger.addHandler(sh)
logger.info('this is only on console')
logger.error('this is in file too')