作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 Python 的 logging
模块。我想记录一条消息的完整路径,比如
"msg packagename.modulename.functionName lineNumber", 但如何获取消息的包名?
日志配置是:
LOGGING = {
'formatters': {
'simple': {
'format': '[%(levelname)s] %(message)s [%(module)s %(funcName)s %(lineno)d]'
},
},
'handlers': {
'console': {
'level':'INFO',
'class':'logging.StreamHandler',
'formatter':'simple',
}
},
'loggers': {
'develop': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
}
我得到一个这样的记录器:
logger = logging.getLogger('develop')
最佳答案
我不知道如何像 Java 默认情况下那样获取“包名称”,但要添加文件名(它为您提供了同样多的上下文),请使用 %(pathname)s
在您的格式字符串中:
'format': '[%(levelname)s] %(message)s [%(pathname)s %(funcName)s %(lineno)d]'
请参阅此处的文档:https://docs.python.org/2/library/logging.html#logrecord-attributes
关于python - 如何在 Python 中记录包名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206178/
我是一名优秀的程序员,十分优秀!