[英]How to get Log4j log file absolute path in Java?
我正在使用Log4j記錄和記錄Log4j.xml文件中提供的文件路徑。 該Web應用將部署在weblogic服務器上,並且在home / JEE / servername / logs目錄下生成日志文件。 使用Java如何在Java中獲取此“ ../../logs/cast-arm.log”的絕對路徑?
log4j.xml(src \\ main \\ resources \\ log4j.xml)
<appender name="armFile" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="true" />
<param name="maxFileSize" value="10MB" />
<param name="maxBackupIndex" value="100" />
<param name="file" value="../../logs/cast-arm.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss,SSS} [%t] %c %x%n %-5p %m%n"/>
</layout>
</appender>
Java的:
File file = new File("../../logs");
有兩種方法可以獲取此絕對文件路徑
使用user.dir
屬性( 如果您知道相對路徑 )
File userDir = new File(System.getProperty("user.dir")); File logFile= new File(userDir , "../../logs/cast-arm.log"); System.out.println(logFile.getAbsolutePath());
使用FileAppender
FileAppender fileAppender = (FileAppender) logger.getRootLogger().getAppender("armFile"); System.out.println(new File(fileAppender.getFile()).getAbsolutePath());
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.