以调用脚本的文件名创建日志文件。

我有一个 logger.py 文件,初始化日志。

import logging

logger = logging.getLogger(__name__)

def logger_init():
    import os
    import inspect
    global logger  

    logger.setLevel(logging.DEBUG)

    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)

    logger.addHandler(ch)

    fh = logging.FileHandler(os.getcwd() + os.path.basename(__file__) + ".log")

    fh.setLevel(level=logging.DEBUG)
    logger.addHandler(fh)

    return None

logger_init()

我有另一个脚本 caller.py 调用记录器。

from logger import *
logger.info("test log")

所发生的是一个名为 logger.log 将被创建,其中包含日志信息。

我想要的是这个日志文件的名字以调用者脚本文件名命名。所以,在这种情况下,所创建的日志文件的名字应该为 caller.log 而不是。

我使用的是python 3.7

解决方案:

将日志记录合并到一个位置是非常有用的。我从中学到了这一点。当事件按时间排序时,调试起来更容易,而且将日志记录到同一个文件是线程安全的。多进程日志记录是有解决方案的。

那么,日志格式可以包含模块名、函数名,甚至是日志调用的行号。这是非常宝贵的。你可以找到一个可以自动包含在日志信息中的属性列表 此处.

示例格式。

format='[%(asctime)s] [%(module)s.%(funcName)s] [%(levelname)s] %(message)s

日志信息示例

[2019-04-03 12:29:48,351] [caller.work_func] [INFO] Completed task 1.

给TA打赏
共{{data.count}}人
人已打赏
未分类

id

2022-9-8 22:33:38

未分类

在ASP.NET Core Web API中访问和使用UserClaims。

2022-9-8 22:33:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索