When calling native code from java the following works when making the native calls:
BasicConfigurator::configure(); LoggerPtr rootLogger = Logger::getRootLogger(); LOG4CXX_DEBUG(rootLogger, "debug message"); LOG4CXX_INFO(rootLogger, "info message"); LOG4CXX_WARN(rootLogger, "warn message"); LOG4CXX_ERROR(rootLogger, "error message"); LOG4CXX_FATAL(rootLogger, "fatal message"); If I try setting appender and layout like: LoggerPtr rootLogger = Logger::getRootLogger(); log4cxx::ConsoleAppenderPtr appender(new log4cxx::ConsoleAppender()); log4cxx::LayoutPtr layout(new log4cxx::SimpleLayout()); appender->setLayout(layout); log4cxx::helpers::Pool pool; appender->activateOptions(pool); rootLogger->addAppender(appender); LogManager::getLoggerRepository()->setConfigured(true); LOG4CXX_DEBUG(rootLogger, "debug message"); LOG4CXX_INFO(rootLogger, "info message"); LOG4CXX_WARN(rootLogger, "warn message"); LOG4CXX_ERROR(rootLogger, "error message"); LOG4CXX_FATAL(rootLogger, "fatal message"); I get memory could not be "written" Application error and JVM crashes. The messages show up in proper format and all but after that what I get. Any ideas? Matt Zmuda Software Developer - Tools Group TVWorks - Platform Division, London, Canada (519) 963-4304