我对日志记录模块还很陌生,但是在复制了一些代码之后,我已经在Internet上查询了,但是我找不到解决方案。 目前,我的记录器正在同时打印到文件和控制台,即使它只应该在文件上打印
我的代码:
Main.py
import logging,logging.config
....
if __name__=='__main__':
fh=logging.handlers.RotatingFileHandler('avisador.log')
fh.setLevel(logging.INFO)
fh.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s: %(message)s', datefmt='%d-%b-%Y %H:%M:%S'))
rootlog = logging.getLogger()
rootlog.setLevel(logging.INFO)
rootlog.addHandler(fh)
在一个不同的文件中,我有一个由这个Main调用的函数
Secondary.py
import logging
startlog=logging.getLogger('startweblog')
def Startroutine():
....
startlog.info('We have started')
我在bot控制台和文件中得到了
15-Oct-2020 14:39:44 - INFO: We have started
我尝试了以下rootlog.setLevel(logging.CRITICAL)
,希望处理程序fh
仍然写到文件,认为它是打印到控制台的根目录,但是我得到的是什么都没有打印无论哪个地方。
应如何配置它使其仅出现在文件中?
答案 0 :(得分:0)
您需要像这样调用 logging.basicConfig :
import logging
logging.basicConfig(filename='avisador.log', level=logging.DEBUG)