【问题标题】:Python use logging to write log,the output file's log is repeated [duplicate]Python使用日志记录写入日志,输出文件的日志重复[重复]
【发布时间】:2018-04-20 04:48:48
【问题描述】:

我使用日志来写日志。但有时日志文件的内容会重复。 喜欢这个:

2018-04-20 13:41:19,164 INFO line:20 test
2018-04-20 13:41:19,164 INFO line:20 test
2018-04-20 13:41:19,164 INFO line:20 test
2018-04-20 13:41:19,164 INFO line:20 test

我的代码:

import logging
import os
import datetime

def write_log():
    logger = logging.getLogger()
    now_date = datetime.datetime.now().strftime('%Y%m%d')
    log_file = now_date + ".log" 
    if not os.path.exists("log"):
        os.makedirs("log")
    formatter = logging.Formatter('%(asctime)s %(levelname)s line:%(lineno)s %(message)s')
    file_handler = logging.FileHandler("log" + os.sep + log_file, mode='a', encoding='utf-8')
    file_handler.setFormatter(formatter)
    logger.addHandler(file_handler)
    logger.setLevel(logging.INFO)
    return logger

mylog = write_log()
mylog.info("test")

如何去除重复的日志?

【问题讨论】:

    标签: python-3.x logging


    【解决方案1】:

    作为stated here,您可以为记录器使用特定名称。这样,您可以避免重复创建,测试它是否已经存在...

    # Set up a specific logger with our desired output level
    my_logger = logging.getLogger(name)
    if not my_logger.handlers:
         # Here I created handler, formatter, loglevel etc..
    return my_logger
    

    【讨论】:

    • 谢谢你,先生,你说得对!
    猜你喜欢
    • 2011-11-02
    • 2020-11-03
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 2023-03-11
    • 2014-10-21
    相关资源
    最近更新 更多