I am developing a cross platform system using Log4Cxx, CppUnit, Boost and STLPort. Under Linux I'm using Gcc 3.3.4 and under Windows VC7.1. Under Windows it all works pretty well, after some sleepless nights, but under Linux, Log4Cxx can't find any of the Appenders. I've trimmed the program down to just Log4Cxx, and still no go. I trimmed the Config file down to the root logger, my logger, and two appenders, a FileAppender and the ConsoleAppender using the DOMConfigurator.
I turned on Internal debugging and added some LogLogs to try and figure out what is going on (see below, I trimmed out my mesages), and what I see is the there are no appenders in the registry map, but they get added after I ask for them. Even so, I can't create appenders (I hoped that after getting them into the registry, things would work out, but no dice.) Could not find configuration file: [log4j.properties]. DOMConfigurator configuring file logging.xml... debug attribute= "". Ignoring debug attribute. Threshold ="". Retreiving an instance of Logger. Setting [ALogger] additivity to [true]. Level value for ALogger is [debug]. OptionConverter::toLevel: no class name specified, level=[debug] ALogger level set to DEBUG Class name: [org.apache.log4j.FileAppender] Could not create an Appender. Reported error follows. Class 'org.apache.log4j.FileAppender' not found Appender named [File] not found. Level value for root is [warn]. OptionConverter::toLevel: no class name specified, level=[warn] root level set to WARN Class name: [org.apache.log4j.ConsoleAppender] Could not create an Appender. Reported error follows. Class 'org.apache.log4j.ConsoleAppender' not found Appender named [stderr] not found. No appenders could be found for logger (ALogger). Please initialize the log4cxx system properly. Config File: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <appender name="stderr" class="org.apache.log4j.ConsoleAppender"> <param name="target" value="System.err"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %r [%t] %p %c{3} (%F:%L) - %m%n"/> </layout> </appender> <appender name="File" class="org.apache.log4j.FileAppender"> <param name="File" value="FileAppender.log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %r [%t] %p %c{3} (%F:%L) - %m%n"/> </layout> </appender> <logger name="ALogger" additivity="true"> <level value="debug"/> <appender-ref ref="File"/> </logger> <root> <level value="warn"/> <appender-ref ref="stderr"/> </root> </log4j:configuration>
