如何在日志配置上使用“keys”和“root”

2024-04-20 09:30:30 发布

您现在位置:Python中文网/ 问答频道 /正文

这不是一个真正的问题,更重要的是一个为什么和在哪里的问题。你知道吗

我在看一些代码,我看到日志记录正在进行。日志记录是用配置文件配置的日志记录.conf是的

这是它的内容。你知道吗

[loggers]
keys=root

[handlers]
keys=consoleHandler,fileHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler,fileHandler

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=(os.getenv('LOG_FILE_PATH'), 'w')

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

我还是个日志新手,我想知道key和root是否是python日志使用的配置文件的特殊词汇。我查看了日志文档,发现它们没有包含在日志记录属性中,也没有提到它们是特殊术语。钥匙可以换成其他术语吗?根也是如此。你知道吗


Tags: debugformatterhandlers配置文件记录argsrootkeys
1条回答
网友
1楼 · 发布于 2024-04-20 09:30:30

configuration file format的文档没有明确说明这一点,但是^{}遵循^{}允许的格式子集。你知道吗

如果您查看dictionary schema,您将看到顶层有loggersformattershandlers键。它们分别对应于[loggers][formatters][handlers]部分中keys下列出的名称。注意,文件格式不支持其他部分,如[filters]。如果使用的名称不是keys,则文件格式本身仍然有效,但配置系统将无法找到所需的信息,因为它会查找名称keys以获取密钥列表。你知道吗

根记录器是日志系统中的一个特殊记录器。它的名称在配置中是root。它是所有其他记录器的父级。它是模块级logging functions使用的记录器,由^{}返回,是^{}的目标。所以名字root确实很特别。该记录器始终存在,并且您只能通过配置中的该名称来引用它。你知道吗

相关问题 更多 >