2012-12-24 47 views
1

指定默認log4j2配置文件我用log4j2用於登錄,但我只收到錯誤消息,這是我覺得默認CONFIGS。我創建log4j2.xml爲:如何在Ubuntu

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
    <PatternLayout pattern=" %msg%n"/> 
    </Console> 
    </appenders> 
    <loggers> 
    <logger name="log4jExample" level="trace"> 
     <appender-ref ref="Console"/> 
    </logger> 
    <root level="error"> 
    <appender-ref ref="Console"/> 
    </root> 
    </loggers> 
</configuration> 

~/.bashrc文件中CLASSPATH可變提到它的路徑。但它仍然沒有選擇這個XML文件。我是否只在運行時提及配置文件? ~/.bashrc文件,則爲:

export CLASSPATH=$CLASSPATH:/home/user/Pradi/config/log4j2.xml 

回答

0

類路徑配置可以改變很大,這取決於你的應用程序。它是一個Java SE應用程序嗎?如果您的應用程序打包在jar文件中,您可以在META-INF文件中定義您的Classpath。如果它只是從控制檯運行的簡單類,則可以嘗試將此log4j2.xml放在包結構的根目錄中。

什麼是你來運行這些類的文件夾結構?

編輯: 通常配置文件放在不同的目錄中,但還沒有完全不同的文件夾結構。通常有一個源文件夾如src/main/java和另一個src/main/resources。編譯後,通常他們將文件放在同一個根文件夾中,例如target/classes。在你的簡單測試中,我會把這些文件放在同一個文件夾中,如果你從/ home/user/Pradi運行這個類,那麼這個命令就是「java -classpath/home/user/Pradi log4jExample」。如果你告訴我你是如何編輯你的課程的,我可以給你更多關於如何組織這些文件的指導。

+0

是它的簡單類是從控制檯運行。我第一次使用log4j2,所以只需檢查它是如何記錄的。我將xml放在包的根目錄下,但仍然沒有選擇文件。運行類的文件夾結構與根包不同。對於運行類,它是/home/user/Pradi/log4jExample.java和xml文件/home/user/log4j2/apache-log4j-2.0-beta3-bin/log4j2.xml而其選擇的XML文件,只有當它是在與我的.java文件相同的文件夾中。但配置應該在不同的文件夾? – prad

+0

[/ home/user/Pradi]是我的log4jExample.java文件所在的位置,最初我將log4j2.xml放在[/ home/user/Pradi/config]文件夾中。所有log4j2罐子等log4j12-API-2.0-beta3.jar等在[/home/user/log4j2/apache-log4j-2.0-beta3-bin]和類路徑包含[/家庭/用戶/ log4j2 /阿帕奇-log4j- 2.0-β3斌],[家庭/用戶/ Pradi /配置/升og4j2.xml]和我編譯從Pradi文件夾即/家庭/用戶/ Pradi $ javac的log4jExample.java因爲我提到在類路徑的〜/ .bashrc編譯時我沒有使用-classpath選項。注意:我在ubantu中做了所有這些,而不是在Eclipse IDE中 – prad