2015-10-17 51 views
1

我有这样的格式化Django的如何获得在Django记录仪应用程序名称

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

文件名我得到的是

views.py

既然是作为其难以混乱从哪个模块查看views.py。

是否有记录格式任何获得应用程序的名字

+0

你如何得到文件名? os.path.basename(\ _ \ _ FILE__)? – ryuusenshi

+0

@ryuusenshi,它是默认情况下可用,我没有手动执行 –

回答

3

使用pathname,而不是filename在你的日志记录配置。

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

您还可以使用其他变量 - 检查logging module documentation的列表。


需要注意的是,如果你使用获取一个logger = logging.getLogger(__name__)例如Logger(这是做的常用方法),你也可以使用name检索模块名称(例如myapp.views)。

这是(可以说)更好的做法,但如果你正在做, logger = logging.getLogger("mylogger")logger = logging.getLogger()

+0

谢谢你。我在哪里可以看到我可以使用的其他变量。任何文件。 2.我的完整路径非常大。有没有办法我可以修改使用字符串替换。我的意思是使用任何回调 –

+0

@JohnKaff有一个链接到我的答案中的文档。该文档列出了您可以使用的其他变量。 –

+0

我想使用'__name__',但后来我无法获取自定义记录器。那么它会转到默认文件螺母我的自定义文件 –

相关问题