2017-03-08 65 views
0

我正在使用Log4j來記錄Log4j.xml文件中提供的日誌文件路徑。 Web應用程序將部署在weblogic服務器上,日誌文件在home/JEE/servername/logs目錄下生成。使用Java如何得到這個「../../logs/cast-arm.log」在Java中的絕對路徑?如何在Java中獲取Log4j日誌文件的絕對路徑?

的log4j.xml(SRC \主\資源\的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"); 
+0

你知道這條路嗎../../在java中的日誌,也需要使用程序 – Sanjeev

+0

發現親愛的拉維,以防萬一你在同一時間低估了我高度評價的答案中的10個我建議你應該刪除一個經過兩次編輯仍然是錯誤的答案:謝謝你是一個這樣的紳士。你現在感覺好些了?我建議你長大並學會接受建設性的批評。我花時間詳細解釋了你的答案不正確。我不是故意侮辱你的。我甚至有禮貌,只有誠實。 – kriegaex

+0

順便說一下,StackOverflow自動更正了投票,因爲它們是[自動檢測爲濫用系列投票](http://stackoverflow.com/help/serial-voting-reversed)。如果您在此處回覆此問題而對此表示歉意,我隨時可以刪除此內容以及之前的評論。 – kriegaex

回答

0

有幾個方法,你可以得到這個絕對文件路徑

  1. 使用user.dir屬性(如果您知道相對路徑

    File userDir = new File(System.getProperty("user.dir")); 
    
    File logFile= new File(userDir , "../../logs/cast-arm.log"); 
    
    System.out.println(logFile.getAbsolutePath()); 
    
  2. 使用FileAppender

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

希望這有助於。

相關問題