python - 如何在 Python 中记录包名称?

标签 python logging

我正在使用 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/

相关文章:

linux - 文件夹中最近的文件

python无法启动新线程

python - 从 Pandas Column 中解压字典

eclipse - java.lang.NoClassDefFoundError : org/apache/juli/logging/LogFactory 错误

c# - 支持从 VSTO 加载项进行日志记录的最简单方法

android - 数据狗朗姆酒 : Is it possible to include HTTP request body in resource logging?

python - 理解梯度提升回归树的部分依赖

python 等到连接激活

python - 在 python 中从 json 数组获取嵌套对象时遇到问题

java - 如何在不依赖异常的情况下知道是否使用 log4j 正确发送了 syslog 消息