0
如果一個特定的模塊使用log4perl然後記錄該消息記錄的名字有什麼辦法讓使用log4perl內部該模塊的名稱。或從srcipt(.pl)記錄消息,除了使用調用者或任何不明確使用log4perl函數的函數之外,我們是否也可以使用log4perl來獲取腳本的名稱。越來越模塊或腳本中使用log4perl
如果一個特定的模塊使用log4perl然後記錄該消息記錄的名字有什麼辦法讓使用log4perl內部該模塊的名稱。或從srcipt(.pl)記錄消息,除了使用調用者或任何不明確使用log4perl函數的函數之外,我們是否也可以使用log4perl來獲取腳本的名稱。越來越模塊或腳本中使用log4perl
對於類或包,你可以這樣做。這是documented with Log::Log4perl::Layout::PatternLayout。在您的日誌模式中,使用以下任一項。
%C Fully qualified package (or class) name of the caller
而對於一個腳本的名稱:
%F File where the logging event occurred
這些的人也很有用:
%l Fully qualified name of the calling method followed by the callers source the file name and line number between parentheses. %L Line number within the file where the log statement was issued
Log::Log4perl::Layout::PatternLayout本身的文檔有更多的細節。
的如何使用配置文件使用此Here's an example。
log4perl.appender.LOGFILE.layout=PatternLayout log4perl.appender.LOGFILE.layout.ConversionPattern=[%r] %F %L %c - %m%n
@Mr_perl我不知道。請在下次您的問題中包含您已經知道的內容。我花了幾分鐘的時間在文檔中找到它,如果你包括自己的研究,我不需要這麼做。 – simbabque
@Mr_perl:那我不明白你的要求。這聽起來像你想從該模塊中獲取調用模塊的名稱,但它已經知道它自己的名稱。請給出一個你想寫的代碼的正確例子。 – Borodin
@Mr_perl請在您的問題中提供更多信息。你可以[編輯你的問題](http://stackoverflow.com/posts/43467923/edit)。 – simbabque