我有django
的格式化程序 FORMAT = "[%(filename)s:%(lineno)s - %(funcName)20s() ] %(message)s"
我得到的文件名是
views.py
现在这很令人困惑,因为很难看出哪个模块是views.py。
是否可以在logger formatter中获取appname
答案 0 :(得分:5)
在日志记录配置中使用pathname
代替filename
。
FORMAT = "[%(pathname)s:%(lineno)s - %(funcName)20s() ] %(message)s"
您还可以使用其他变量 - 请查看logging
module documentation以获取列表。
请注意,如果您使用Logger
获取logger = logging.getLogger(__name__)
实例(这是常用的方法),您还可以使用myapp.views
来检索模块名称(例如name
) logger = logging.getLogger("mylogger")
。
这是(可以说)更好的做法,但如果您正在做logger = logging.getLogger()
或class CQR_Encode{...};