我正在使用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>
爪哇:
File file = new File("../../logs");
答案 0 :(得分:0)
有两种方法可以获得此绝对文件路径
使用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());
希望这有帮助。