calibration_tools_v1.0/logging.conf

37 lines
2.4 KiB
Plaintext
Raw Permalink Normal View History

2025-02-20 10:45:17 +08:00
[loggers]
# 配置logger信息。必须包含一个名字叫做root的logger当使用无参函数logging.getLogger()时默认返回root这个logger其他自定义logger可以通过 logging.getLogger("fileAndConsole") 方式进行调用
keys=root,file,fileAndConsole
[handlers]
# 定义声明handlers信息。
keys=fileHandler,consoleHandler
[formatters]
# 设置日志格式
keys=simpleFormatter
[logger_root]
# 对loggers中声明的logger进行逐个配置且要一一对应,在所有的logger中必须制定lebel和handlers这两个选项对于非roothandler还需要添加一些额外的option其中qualname表示它在logger层级中的名字在应用代码中通过这个名字制定所使用的handler即 logging.getLogger("fileAndConsole")handlers可以指定多个中间用逗号隔开比如handlers=fileHandler,consoleHandler同时制定使用控制台和文件输出日志
level=DEBUG
handlers=consoleHandler
[logger_file]
level=DEBUG
handlers=fileHandler
qualname=file
propagate=1
[logger_fileAndConsole]
level=DEBUG
handlers=fileHandler,consoleHandler
qualname=fileAndConsole
propagate=0
[handler_consoleHandler]
# 在handler中必须指定class和args这两个option常用的class包括 StreamHandler仅将日志输出到控制台、FileHandler将日志信息输出保存到文件、RotaRotatingFileHandler将日志输出保存到文件中并设置单个日志wenj文件的大小和日志文件个数args表示传递给class所指定的handler类初始化方法参数它必须是一个元组tuple的形式即便只有一个参数值也需要是一个元组的形式里面指定输出路径比如输出的文件名称等。level与logger中的level一样而formatter指定的是该处理器所使用的格式器这里指定的格式器名称必须出现在formatters这个section中且在配置文件中必须要有这个formatter的section定义如果不指定formatter则该handler将会以消息本身作为日志消息进行记录而不添加额外的时间、日志器名称等信息
class=StreamHandler
args=(sys.stdout,)
level=DEBUG
formatter=simpleFormatter
[handler_fileHandler]
class=FileHandler
args=('dialog-analysis.log', 'a')
level=DEBUG
formatter=simpleFormatter
[formatter_simpleFormatter]
format=%(asctime)s - %(srcfilename)s - %(srcfunction)s - %(srclineno)d - %(levelname)s : %(message)s
datefmt=%Y-%m-%d %H:%M:%S