CLI脚本的简单包装器,它可以利用所有的优点
structlog-boilerplate的Python项目详细描述
简单的cli脚本包装器,它可以利用structlog的所有优点,并且可以与使用旧的良好标准库的模块一起工作logging
q为什么我需要它?
aWrite Logs for Machines, use JSON
使用量
默认情况下,script的行为类似于一个适当的12 factor应用程序,它只向stdout
输出json,而使用logging
的库的日志保持不变
python ./examples/app.py
Boom!!!!
Bang!
Wow, exception
Traceback (most recent call last):
File "/home/mirror/PycharmProjects/structlog-boilerplate/examples/libs/sdt_lib.py", line 14, in f
1 / 0
ZeroDivisionError: division by zero
{'event': 'Boom!!!!', 'logger': 'libs.structlog_lib', 'level': 'critical', 'timestamp': '2018-11-03T09:25:19.002335Z'}
{'event': 'Bang!', 'logger': 'libs.structlog_lib', 'level': 'error', 'timestamp': '2018-11-03T09:25:19.002424Z'}
{'event': 'Wow, exception', 'logger': 'libs.structlog_lib', 'level': 'error', 'timestamp': '2018-11-03T09:25:19.002550Z', 'exception': 'Traceback (most recent call last):\n File "/home/mirror/PycharmProjects/structlog-boilerplate/examples/libs/structlog_lib.py", line 15, in f\n 1 / 0\nZeroDivisionError: division by zero'}
{"event": "result", "timestamp": "2018-11-03T09:25:19.002736Z", "value": 42}
但如果详细级别升级,脚本将生成对开发人员友好的彩色输出
python ./examples/app.py -vv