Beispiel #1
0
log4cplus::SharedAppenderPtr Utils::CLogger::GetAppender()
{
	//////////////////////////////////////////////////////////////////////////
	// 创建 Appender
	SharedAppenderPtr fileAppender(new FileAppender(m_strLogPath.GetString()));
	std::auto_ptr<Layout> pFileLayout(new PatternLayout(m_strPattern.GetString()));
	fileAppender->setLayout(pFileLayout);
	fileAppender->setName(_T("fileAppender"));
	return fileAppender;
}
Beispiel #2
0
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;
}
Beispiel #3
0
void ChiikaApi::Log::InitLogging(const char* loc)
{
	log4cplus::Logger logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("Chiika"));
	
	
	RootOptions ro = Root::Get()->GetRootOptions();
	logger.setLogLevel(translate_logLevel((ChiikaApi::Log::LogLevel)ro.log_level));

#if YUME_PLATFORM == YUME_PLATFORM_WIN32
	log4cplus::SharedAppenderPtr debugAppender(new log4cplus::Win32ConsoleAppender());
	debugAppender->setName(LOG4CPLUS_TEXT("First"));
	debugAppender->setLayout(std::unique_ptr<log4cplus::Layout>(new log4cplus::TTCCLayout()));
	log4cplus::Logger::getRoot().addAppender(log4cplus::SharedAppenderPtr(debugAppender.get()));
#else
	log4cplus::SharedAppenderPtr debugAppender(new log4cplus::ConsoleAppender());
	debugAppender->setName(LOG4CPLUS_TEXT("ConsoleAppender"));
	debugAppender->setLayout(std::unique_ptr<log4cplus::Layout>(new log4cplus::TTCCLayout()));
	log4cplus::Logger::getRoot().addAppender(log4cplus::SharedAppenderPtr(debugAppender.get()));
#endif

	std::string strModulePath = std::string(loc);
	const size_t cSize = strlen(loc);
	std::wstring wstrModulePath(cSize, L'#');
	mbstowcs(&wstrModulePath[0], loc, cSize);

#if YUME_PLATFORM == YUME_PLATFORM_WIN32
	log4cplus::SharedAppenderPtr fileAppender(new log4cplus::RollingFileAppender(wstrModulePath));
#else
	log4cplus::SharedAppenderPtr fileAppender(new log4cplus::RollingFileAppender(strModulePath));
#endif

	fileAppender->setName(LOG4CPLUS_TEXT("Second"));
	fileAppender->setLayout(
		std::unique_ptr<log4cplus::Layout>(
		new log4cplus::PatternLayout(LOG4CPLUS_TEXT("[%-5p][%D{%Y/%m/%d %H:%M:%S:%q}][%t] %m%n"))));
	log4cplus::Logger::getRoot().addAppender(log4cplus::SharedAppenderPtr(fileAppender.get()));

}