如何在Java中获取Log4j日志文件的绝对路径?

如何在Java中获取Log4j日志文件的绝对路径?,java,file,log4j,Java,File,Log4j,我使用Log4j来记录日志和Log4j.xml文件中提供的日志文件路径。web应用程序将部署在weblogic服务器上,并在home/JEE/servername/logs目录下生成日志文件。使用java如何在java中获得“../../logs/cast arm.log”绝对路径 log4j.xml(src\main\resources\log4j.xml) 有两种方法可以获得此绝对文件路径 使用user.dir属性(如果您知道相对路径) 使用FileAppender FileAppende

我使用Log4j来记录日志和Log4j.xml文件中提供的日志文件路径。web应用程序将部署在weblogic服务器上,并在home/JEE/servername/logs目录下生成日志文件。使用java如何在java中获得“../../logs/cast arm.log”绝对路径

log4j.xml(src\main\resources\log4j.xml)


有两种方法可以获得此绝对文件路径

  • 使用
    user.dir
    属性(如果您知道相对路径)

  • 使用
    FileAppender

    FileAppender fileAppender = (FileAppender) logger.getRootLogger().getAppender("armFile");
    System.out.println(new File(fileAppender.getFile()).getAbsolutePath());
    

  • 希望这有帮助。

    你知道这条路径吗?.././用java登录,或者也需要使用程序来查找亲爱的ravi,以防万一你是在大约同一时间否决了我的10个高评价答案的人。我建议你删除一个经过两次编辑后仍然是错误的答案:谢谢你这么绅士。你现在感觉好些了吗?我建议你长大,学会接受建设性的批评。我花时间详细解释了你的答案有哪些地方不正确。我不是有意侮辱你的。我甚至很有礼貌,只是很诚实。顺便说一下,StackOverflow修正了投票,因为它们是自动的。如果你在这里的一个小回复中为滥用道歉,我准备删除这个和之前的评论。
    File file = new File("../../logs");
    
    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) logger.getRootLogger().getAppender("armFile");
    System.out.println(new File(fileAppender.getFile()).getAbsolutePath());