Hi Nancy, The suggested method fails because all arguments to fop are passed as arguments to the application, not the JVM. You could change the fop script and add '-Dlog4j.configuration=...' * directly* before or after '$HEADLESS' on the line 'run_java ...'.
Better still you could put something like $MY_JVM_VARS instead and run * export MY_JVM_VARS='-Dlog4j.configuration=file:///wherever/log4j.xml' fop* Any other JVM arguments required can be placed in the MY_JVM_VARS variable. The problem with this would be when an update changes the /usr/bin/fop. You might want to copy this script into ~/ somewhere and run that instead, merging any potential future changes to fop when thy occur. Pete On Tue, May 25, 2010 at 4:34 PM, nancy_b <[email protected]> wrote: > > Hi Julien! > > Thanks a lot for trying to help me. Unfortunately, fop fails printing the > following error: > 2010-05-25 18:32:35,176 [main] ERROR FOP - Exception > java.lang.IllegalArgumentException: Error creating InputHandler object. > at > > org.apache.fop.cli.CommandLineOptions.createInputHandler(CommandLineOptions.java:849) > at > org.apache.fop.cli.CommandLineOptions.parse(CommandLineOptions.java:167) > at org.apache.fop.cli.Main.startFOP(Main.java:154) > at org.apache.fop.cli.Main.main(Main.java:197) > > Please, advise! > Thanks a lot again! > Nancy > > > Julien Aymé wrote: > > > > Hello, > > > > Assuming your log4j configuration file is placed in the > > "/home/cozy/doc/xsl/" folder, > > you can tell fop to use your log4j file like this: > > > > fop -Dlog4j.configuration=file:///home/cozy/doc.xsl/log4j.xml-c > > /home/cozy/doc/xsl/myconf.xml -fo \ > > user_manual.fo -pdf user_manual.pdf > > > > (replace log4j.xml with the actual name of your configuration file). > > > > HTH, > > Julian > > > > 2010/5/25 nancy_b <[email protected]>: > >> > >> From http://wiki.apache.org/xmlgraphics-fop/HowTo/SetupLog4JLogging: > >> > >> "Set the following system property when you start the JVM: > >> -Dlog4j.configuration=file:///C:/Dev/FOP/log4j.properties > >> ..." > >> Does anybody know how do I define this on Linux Debian and where? > >> > >> Thanks a lot in advance! > >> nancy > >> > >> > >> nancy_b wrote: > >>> > >>> Hi Folks! > >>> > >>> I use FOP 0.95 to compile PDF documents from DocBook sources on my > Linux > >>> Debian machine. After upgrading my Debian to v5.2, I get the following > >>> log4j-related problem: > >>> > >>> fop -c /home/cozy/doc/xsl/myconf.xml -fo \ > >>> user_manual.fo -pdf user_manual.pdf > >>> log4j:WARN No appenders could be found for logger > >>> (org.apache.fop.util.ContentHandlerFactoryRegistry). > >>> log4j:WARN Please initialize the log4j system properly. > >>> > >>> and FOP does not produce any compilation-related warnings that I expect > >>> it > >>> to print in the console. > >>> 2.6.18.3 > >>> I did not have this problem before (on my Debian v.2.6.18.3). > >>> > >>> After reading related posts on this forum, I did the following: > >>> > >>> 1) Created a log4j conf file (log4j-properties.xml) with the following > >>> contents: > >>> > >>> <?xml version="1.0" encoding="UTF-8" ?> > >>> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> > >>> > >>> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> > >>> <appender name="console" class="org.apache.log4j.ConsoleAppender"> > >>> > >>> <layout class="org.apache.log4j.PatternLayout"> > >>> > >>> </layout> > >>> </appender> > >>> <appender name="logfile" class="org.apache.log4j.FileAppender"> > >>> <layout class="org.apache.log4j.PatternLayout"> > >>> > >>> </layout> > >>> </appender> > >>> <!-- ALL | DEBUG | INFO | WARN | ERROR | FATAL | OFF > >>> <root> > >>> <priority value ="warn" /> > >>> <appender-ref ref="console" /> > >>> <appender-ref ref="logfile" /> > >>> </root>--> > >>> <logger name="org.apache.fop"> > >>> <level value="warn"/> > >>> <appender-ref ref="console" /> > >>> </logger> > >>> <logger name="org.apache.xmlgraphics"> > >>> <level value="warn"/> > >>> <appender-ref ref="console" /> > >>> </logger> > >>> </log4j:configuration> > >>> > >>> It sits together with log4j in the /usr/share/java/ directory. I also > >>> placed there the log4j.dtd file. > >>> > >>> 2) In bashrc, I defined the following: > >>> > >>> export > >>> > LOG4J_OPTS="-Dlog4j.configuration=/usr/share/java/log4j-properties.xml". > >>> > >>> But, guess what? It did not help at all. I still get the log4j message. > >>> The posts also mention that it is necessary to define the conf. file in > >>> the classpath. I have no idea what it is and how to find it.... > >>> > >>> Please, people, help! :-( > >>> > >>> Thanks a lot in advance!!!! > >>> nancy > >>> > >>> > >>> > >> > >> -- > >> View this message in context: > >> http://old.nabble.com/Log4j-Woes-tp28658124p28669034.html > >> Sent from the FOP - Users mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > > > -- > View this message in context: > http://old.nabble.com/Log4j-Woes-tp28658124p28669930.html > Sent from the FOP - Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
