如何在django logger中获取应用程序名称

Joh*_*aff 2 python django logging

我有django的格式化程序

FORMAT = "[%(filename)s:%(lineno)s - %(funcName)20s() ] %(message)s"

我得到的文件名是

views.py

现在这很混乱,因为很难看出哪个模块是views.py.

是否有任何在logger格式化程序中获取appname

Tho*_*zco 5

使用pathname而不是filename在日志记录配置中.

FORMAT = "[%(pathname)s:%(lineno)s - %(funcName)20s() ] %(message)s"
Run Code Online (Sandbox Code Playgroud)

您还可以使用其他变量 - 请查看logging模块文档以获取列表.


请注意,如果您正在Logger使用logger = logging.getLogger(__name__)(这是一种常用方法)获取实例,您还可以使用检索模块名称(例如myapp.views)name.

这是(可以说)更好的做法,但如果你正在做logger = logging.getLogger("mylogger")或不做,那将无法奏效logger = logging.getLogger()