我有一个 python 项目,其中有 3 个 python 文件,其中app.py主文件和其他两个文件是tracker.py和celerio.py. 我为所有文件启用了日志记录,下面是它的代码:
def setup_logger(logger_name, log_file, level=logging.ERROR):
log_formatter = logging.Formatter('%(asctime)s %(message)s')
my_handler = RotatingFileHandler(log_file, mode='a', maxBytes=100 * 1024 * 1024, backupCount=5, encoding=None,
delay=0)
my_handler.setFormatter(log_formatter)
my_handler.setLevel(level)
l = logging.getLogger(logger_name)
l.addHandler(my_handler)
dir = Path(__file__).parents[1]
log_file = os.path.join(dir, 'logs', 'application.log')
setup_logger('debug', log_file)
log = logging.getLogger('debug')
然后我像log.error("Hello world")在 python 文件中一样使用它,它工作正常。现在,由于我还有另外 2 个文件,我还在这两个文件中复制了相同的上述代码,tracker.py并且celerio.py. 但问题是,如果我登录log.error("Hello world from app.py"). app.py在application.log文件中保存为 3 次。其他文件也是如此。
2019-11-15 13:32:00,288 Hello world from app.py
2019-11-15 13:32:00,288 Hello world from app.py
2019-11-15 13:32:00,288 Hello world from app.py
我不知道为什么它只记录了 1 个日志 3 次。任何人都可以在这方面帮助我。谢谢