我有這樣的格式化Django的如何獲得在Django記錄儀應用程序名稱
FORMAT = "[%(filename)s:%(lineno)s - %(funcName)20s() ] %(message)s"
文件名我得到的是
views.py
既然是作爲其難以混亂從哪個模塊查看views.py。
是否有記錄格式任何獲得應用程序的名字
我有這樣的格式化Django的如何獲得在Django記錄儀應用程序名稱
FORMAT = "[%(filename)s:%(lineno)s - %(funcName)20s() ] %(message)s"
文件名我得到的是
views.py
既然是作爲其難以混亂從哪個模塊查看views.py。
是否有記錄格式任何獲得應用程序的名字
使用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()
謝謝你。我在哪裏可以看到我可以使用的其他變量。任何文件。 2.我的完整路徑非常大。有沒有辦法我可以修改使用字符串替換。我的意思是使用任何回調 –
@JohnKaff有一個鏈接到我的答案中的文檔。該文檔列出了您可以使用的其他變量。 –
我想使用'__name__',但後來我無法獲取自定義記錄器。那麼它會轉到默認文件螺母我的自定義文件 –
你如何得到文件名? os.path.basename(\ _ \ _ FILE__)? – ryuusenshi
@ryuusenshi,它是默認情況下可用,我沒有手動執行 –