0

我对日志记录模块相当陌生,但是在复制了一些我在互联网上查找的代码后,我找不到解决方案。目前,我的记录器正在打印到文件和控制台,即使它应该只对文件执行

我的代码:

主文件

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 调用的函数

二级.py

import logging

startlog=logging.getLogger('startweblog')

def Startroutine():
    ....
    startlog.info('We have started')

我在机器人控制台和文件中得到了这个

15-Oct-2020 14:39:44 - INFO: We have started

我尝试了以下操作rootlog.setLevel(logging.CRITICAL),希望处理程序fh仍然写入文件,认为它是打印到控制台的根,但我得到的是在任何一个地方都没有打印任何内容。

应该如何配置它以便它只出现在文件中?

4

1 回答 1

0

您需要像这样调用logging.basicConfig

import logging
logging.basicConfig(filename='avisador.log', level=logging.DEBUG)
于 2020-10-15T15:35:24.037 回答