log4j ใช้งานได้กับ maven tomcat7:run แต่ไม่ใช่กับ tomcat7:deploy

เมื่อฉันใช้ mvn tomcat7:run log4j ทำงานได้อย่างสมบูรณ์แบบ แต่เมื่อฉันใช้ mvn tomcat7:deploy เพื่อรันบน Tomcat บนเครื่องท้องถิ่นของฉัน ฉันจะได้รับ filenotfoundExceptionion สำหรับไฟล์ log4j.properties มีความคิดเห็นใดบ้างที่ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

 <build>

    <plugins>

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <!--  --> <version>2.1</version> 

        <configuration>
            <url>http://localhost:8080/manager/text</url>
            <server>localhost</server>


        </configuration>
    </plugin>
</plugins>

UPDATE

ใน log4j.properties ฉันใช้ file appender เพื่อเข้าสู่ไฟล์ชื่อ "loging.log" ไฟล์นี้สร้างขึ้นในไดเร็กทอรี tomcat/bin แต่ไฟล์ว่างเปล่า


person mosaad    schedule 11.11.2013    source แหล่งที่มา


คำตอบ (2)


พบคำตอบจากที่นี่

ต้องเปลี่ยนจาก

PropertyConfigurator.configure("log4j.properties");

สำหรับสิ่งนี้

ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); 
PropertyConfigurator.configure(classLoader.getResource("log4j.properties"));

วิธีแก้ไขปัญหาอื่นคือการฮาร์ดโค้ดเส้นทางของไฟล์ log4j.properties แต่ฉันไม่แนะนำ:

PropertyConfigurator.configure("C:/User/...../log4j.properties");
person mosaad    schedule 11.11.2013

ไฟล์ log4j.properties ของคุณจะต้องอยู่ใน src/test/resources หรือ src/main/resources

person Olivier Lamy    schedule 11.11.2013
comment
มันมีอยู่แล้วซึ่งไม่ใช่ปัญหา คำตอบข้างต้นได้แก้ไขปัญหาแล้ว - person mosaad; 12.11.2013