我需要创建两个基于条件的日志(log)文件.但它正在创建一个日志(log)文件abc.log.有什么解决办法吗?

`import logging
import datetime
def log_file(log_name):
    log_day = datetime.datetime.now().strftime('%d-%m-%Y')
    log_name = '/home/test/' + log_day + "_" + log_name
    return log_name

data = ["abc","bca"]

for i in data:
    if i == "abc":
        log_name = "abc.log"
        logging.basicConfig(filename=log_file(log_name), level=logging.DEBUG, format='%(asctime)s:%(levelname)s:%(message)s')
        logging.info("Hello")
    else:
        print("hello")
        log_name = "bca.log"
        logging.basicConfig(filename=log_file(log_name), level=logging.DEBUG, format='%(asctime)s:%(levelname)s:%(message)s')
        logging.info("Hello bca")`

推荐答案

重要的是logging. FileScript,因为它决定哪个文件接收哪个日志(log)消息

import logging
import datetime


def log_file(log_name):
    log_day = datetime.datetime.now().strftime('%d-%m-%Y')
    return '/home/test/' + log_day + "_" + log_name


def create_log(data_lst):
    logging.basicConfig(level=logging.DEBUG,
                        format='%(asctime)s:%(levelname)s:%(message)s')

    for i in data_lst:
        logger = logging.getLogger(i)
        log_name = i + ".log"
        handler = logging.FileHandler(log_file(log_name))
        handler.setLevel(logging.DEBUG)
        handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(message)s'))
        logger.addHandler(handler)

        logger.info("Hello" if i == "abc" else "Hello bca")


if __name__ == "__main__":
    data = ["abc", "bca"]
    create_log(data)

Python-3.x相关问答推荐

是否可以使用参数对Flask重定向?

如果行在所有上级索引中都为0,如何删除下级索引行?

While循环不停止地等待,直到时间.睡眠结束

按一列分组,如果日期列相同,则在数字列中填写缺少的值

如何将项目添加到Python中具有固定大小的列表列表中

Python-Django 设置 Pandas DataFrame 的多索引不会分组/合并最后一个索引

为什么 get_form 方法中小部件的更改没有反映 Django 管理站点中的更改

Pandas教程:如何更新行内数值的位置

python3,将整数转换为字节:对于小整数使用 to_bytes() 有哪些替代方法?

在 python f-string 中使用 \u

在python中将字符串写入文本文件

pymongo 失败并出现错误未定义

Pandas 将列格式化为货币

你如何表达一个没有参数的 Python Callable?

在 jupyter notebook 的单元格中使用 sudo

python asyncio - 如何等待取消的屏蔽任务?

根据条件过滤元组列表

从 IPython 重新加载 Python 扩展模块

如何使用 Python 订阅 Websocket API 通道?

如何避免使用我的 python 包构建 C 库?