Ok. I know what goes wrong now.

For debug log4j with ant, it is jvmarg instead of arg needed to be
added within java tag.

    <java ...>
        <jvmarg value="-Dlog4j.debug" />
    </java>

log4j.properties is not read because there is another project which
also uses log4j logging system that I was not aware of. And that
classpath property is preceded before my log4j.properties.

Wrong classpath
   <path id="spider.classpath">
        <fileset dir="${another.project.home}/" includes="**/*.jar"/>
<!-- this includes jars which contains other log4j.properties -->
        <pathelement location="${myporject.conf}"/> <!-- my log4j.properties
here then is ignored -->
    </path>

Worked version
   <path id="spider.classpath">
        <pathelement location="${myproject.conf}"/> <!-- make my project's
log4j.properties the first one in classpath -->
         ....
    </path>

Now everything works well.

Thanks.






On Wed, Feb 23, 2011 at 4:27 PM, Thomas Anderson
<t.dt.aander...@gmail.com> wrote:
> I have a build.xml file which will read log4j.properties, stored in
> conf, from conf and log message to another dir e.g. logs/file.log
>
> My build file's classpath points to conf and then when launch the
> application it will have classpath provided.
>
>   <path id="myapp.classpath">
>        ...
>        <pathelement location="${spider.conf}"/>
>        ...
>    </path>
>
> And in target run, it provides with classpath
>
>   <target name="run" depends="clean,package">
>        <java fork="true" classname="...">
>            <classpath>
>                <path refid="myapp.classpath"/>
>                <path location="${project.jar}"/>
>            </classpath>
>            <arg line="-Dlog4j.debug"/>
>        </java>
>    </target>
>
>
> The content of log4j.properties
>
> log4j.rootLogger = DEBUG, RRX
>
> log4j.rootLogger = INFO, LOGFILE
>
> log4j.appender.LOGFILE=org.apache.log4j.FileAppender
> log4j.appender.LOGFILE.File=message.log
> log4j.appender.LOGFILE.layout=org.apache.log4j.Pattern Layout
> log4j.appender.LOGFILE.layout.ConversionPattern=%d %-5p %c - %m%n
>
> However, it seems ant does not read log4j.properties so no message is
> written to file.
>
> I supply ant with -Dlog4j.debug in the target run or in command line
> directly e.g. ant run -Dlog4j.debug, but there is no different. How
> can I check if log4j property is read from config or not? Or how to
> fix this problem?
>
> Thanks.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
For additional commands, e-mail: user-h...@ant.apache.org

Reply via email to