2012-01-25 5 views
0

지난 이틀 동안이 문제에 휩쓸 렸습니다. 제발 도와주세요. ANT를 사용하여 JUNIT 스크립트를 실행하고 있습니다. 보고서가 생성되고 있지만 ANT가 내 log4j.properites 파일을 찾을 수 없습니다. 이클립스를 통해 실행하면 로그가 생성됩니다. 내 문제는 여기에 ANT.DO 통해 실행할 때 로그를 원하는 모든 속성을 설정해야합니다. 내가하고있는 실수는 무엇입니까?Ant가 Log4j.properties 파일을 인식하지 못합니다.

도와주세요.


내 로그 :

#Application Logs 
#log4j.logger.devpinoyLogger 
log4j.rootLogger=DEBUG, dest1 
log4j.appender.dest1=org.apache.log4j.RollingFileAppender 
log4j.appender.dest1.maxFileSize=5000KB 
log4j.appender.dest1.maxBackupIndex=3 
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout 
log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n 
log4j.appender.dest1.File=/Users/Application.log 
#do not append the old file. Create a new log file everytime 
log4j.appender.dest1.Append=false 

build.xml 


<?xml version="1.0" encoding="iso-8859-1"?> 
<!DOCTYPE project [ 
]> 

<project name="Module_Junit_Ant" default="usage" basedir="."> 

<!-- ========== Initialize Properties =================================== --> 
    <property environment="env"/> 

    <property name="ws.home" value="${basedir}"/> 
    <property name="ws.jars" value="${ws.home}/jars"/> 
    <property name="test.dest" value="${ws.home}/build"/> 
    <property name="test.src" value="${ws.home}/src"/> 
    <property name="test.reportsDir" value="${ws.home}/reports"/> 



    <path id="testcase.path"> 


     <pathelement location="${test.dest}"/> 

     <fileset dir="${ws.jars}"> 
      <include name="*.jar"/> 
     </fileset> 

     </path> 


    <!--target name="start-selenium-server"> 
     <java jar="${ws.home}/lib/selenium-server.jar"/> 
    </target--> 

    <target name="setClassPath" unless="test.classpath"> 
     <path id="classpath_jars"> 
      <fileset dir="${ws.jars}" includes="*.jar"/> 
      <fileset dir="${test.src}" includes="*.properties"/> 
     </path> 
     <pathconvert pathsep=":" 
      property="test.classpath" 
      refid="classpath_jars"/> 
    </target> 

    <target name="init" depends="setClassPath"> 
     <tstamp> 
      <format property="start.time" pattern="MM/dd/yyyy hh:mm aa" /> 
     </tstamp> 
     <condition property="ANT" 
      value="${env.ANT_HOME}/bin/ant.bat" 
      else="${env.ANT_HOME}/bin/ant"> 
        <os family="windows" /> 
     </condition> 

    </target> 

    <!-- all --> 
    <target name="all"> 
    </target> 

    <!-- clean --> 
    <target name="clean"> 
     <delete dir="${test.dest}"/> 
    </target> 

    <!-- compile --> 
    <target name="compile" depends="init, clean" > 
     <delete includeemptydirs="true" quiet="true"> 
      <fileset dir="${test.dest}" includes="**/*"/> 
     </delete> 
     <echo message="making directory..."/> 
     <mkdir dir="${test.dest}"/> 
     <echo message="classpath------: ${test.classpath}"/> 
     <echo message="compiling..."/> 
     <javac 
      debug="true" 
      destdir="${test.dest}" 
      srcdir="${test.src}" 
      target="1.5" 
      classpath="${test.classpath}" 
     > 
     </javac> 
     </target> 

    <!-- build --> 
    <target name="build" depends="init"> 
    </target> 




    <target name="usage"> 
     <echo> 
      ant run will execute the test 
     </echo> 
    </target> 

    <path id="test.c"> 
      <fileset dir="${ws.jars}" includes="*.jar"/> 
    </path> 



    <target name="run" > 
     <delete includeemptydirs="true" quiet="true"> 
        <fileset dir="${test.reportsDir}" includes="**/*"/> 
       </delete> 
       <java jar="${ws.jars}" fork="true" spawn="true" /> 
       <junit fork="yes" haltonfailure="no" printsummary="yes"> 
        <classpath refid="testcase.path" /> 

        <!-- <classpath ="${test.classpath}"/> --> 
       <batchtest todir="${test.reportsDir}" fork="true"> 
       <fileset dir="${test.dest}"> 

        <include name="LogTest.class" /> 
        <!--include name="tests/suite1/FirstSuiteRunner.class" /> 
        <include name="tests/suite1/FirstSuiteRunner.class" /--> 


       </fileset> 
       </batchtest>  
        <formatter type="xml" /> 
        <classpath refid="testcase.path" /> 
      </junit> 
       <junitreport todir="${test.reportsDir}">  
        <fileset dir="${test.reportsDir}"> 
         <include name="TEST-*.xml" /> 
        </fileset> 
        <report todir="${test.reportsDir}" /> 
       </junitreport> 
      </target> 

     <target name="email" > 
       <java classname="util.SendMail" classpath="${test.dest}" classpathref="testcase.path" /> 
     </target> 


</project> 
+0

어디에 log4j.properties가 있습니까? – oers

+0

http://stackoverflow.com/questions/1284952/why-isnt-my-log4j-properties-file-getting-used를 참조하십시오. log4j 파일이 클래스 경로에없는 것일 수 있습니다. – Jayan

답변

0

어디 log4j.properties는 어디에 있습니까? 나를 위해 작동 무엇은 log4j.properties 들어있는 폴더를 가리키는

< path id="testcase.path">

내부

< pathelement location="x/y/z"/>

을 넣어! 이 예제에서 log4j.properties는 'z'폴더 안에 있어야합니다!

관련 문제