void FB::Log::initLogging() { if (logging_started) return; bool addedAppender = false; log4cplus::Logger logger = log4cplus::Logger::getInstance(L"FireBreath"); FB::Log::LogLevel ll = getFactoryInstance()->getLogLevel(); logger.setLogLevel(translate_logLevel(ll)); FB::Log::LogMethodList mlist; getFactoryInstance()->getLoggingMethods(mlist); for (FB::Log::LogMethodList::const_iterator it = mlist.begin(); it != mlist.end(); ++it) { switch( it->first ) { case FB::Log::LogMethod_Console: { #ifdef FB_WIN log4cplus::SharedAppenderPtr debugAppender(new log4cplus::Win32DebugAppender()); std::auto_ptr<log4cplus::Layout> layout2(new log4cplus::TTCCLayout()); debugAppender->setLayout(layout2); logger.addAppender(debugAppender); addedAppender = true; #else log4cplus::SharedAppenderPtr debugAppender(new log4cplus::ConsoleAppender()); std::auto_ptr<log4cplus::Layout> layout2(new log4cplus::TTCCLayout()); debugAppender->setLayout(layout2); logger.addAppender(debugAppender); addedAppender = true; #endif } break; case FB::Log::LogMethod_File: { log4cplus::SharedAppenderPtr fileAppender(new log4cplus::FileAppender(FB::utf8_to_wstring(it->second))); std::auto_ptr<log4cplus::Layout> layout(new log4cplus::TTCCLayout()); fileAppender->setLayout(layout); logger.addAppender(fileAppender); addedAppender = true; } } } // If there are no other appenders, add a NULL appender if (!addedAppender) { log4cplus::SharedAppenderPtr nullAppender(new log4cplus::NullAppender()); std::auto_ptr<log4cplus::Layout> layout3(new log4cplus::TTCCLayout()); nullAppender->setLayout(layout3); logger.addAppender(nullAppender); } logging_started = true; }
static void BasicServer_opException (PortableServer_Servant servant, CORBA_Environment *ev) { test_TestException *ex = test_TestException__alloc (); ex->reason = CORBA_string_dup (constants_STRING_IN); ex->number = constants_LONG_IN; ex->aseq._buffer = CORBA_sequence_CORBA_long_allocbuf (1); ex->aseq._length = 1; ex->aseq._buffer [0] = constants_LONG_IN; ex->factory = getFactoryInstance(ev); CORBA_sequence_set_release (&ex->aseq, CORBA_TRUE); CORBA_exception_set ( ev, CORBA_USER_EXCEPTION, ex_test_TestException,ex); }