我正在開發Grails應用程序,在開發模式下,我通過log4j將一些計算記錄到日誌文件中。log4j與grails:如何在運行時獲取appender文件名?
我想提供一個服務,它將讀取日誌文件並使其內容可供開發人員使用,以便他們可以查看日誌文件中記錄的內容。
有沒有辦法在運行時獲得log4j appender文件名?
我正在開發Grails應用程序,在開發模式下,我通過log4j將一些計算記錄到日誌文件中。log4j與grails:如何在運行時獲取appender文件名?
我想提供一個服務,它將讀取日誌文件並使其內容可供開發人員使用,以便他們可以查看日誌文件中記錄的內容。
有沒有辦法在運行時獲得log4j appender文件名?
如果你的日誌記錄配置設置如下:
log4j = {
appenders {
file name: 'myFileAppender', file: '/tmp/myFile.log'
}
debug 'myFileAppender': 'myFileLogger'
}
您可以訪問myFileLogger
記錄器的文件名是這樣的:
import org.apache.log4j.Logger
import org.apache.log4j.FileAppender
def appender = (FileAppender)Logger.getLogger('myFileLogger').getAppender('myFileAppender')
def fileName = appender.file
這將找到的第一個附加器的文件名:
import org.apache.log4j.*
Logger.rootLogger.allAppenders.find{it instanceof FileAppender}?.fileName
我會試試看。謝謝ataylor。 – 2010-09-15 15:40:57
優秀。感謝Rob。 – 2010-09-15 15:40:26