You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							82 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							82 lines
						
					
					
						
							2.6 KiB
						
					
					
				| 
 | |
| 
 | |
| #include <exception> | |
| #include <iostream> | |
| #include <string> | |
| #include "log4cplus/logger.h" | |
| #include "log4cplus/consoleappender.h" | |
| #include "log4cplus/helpers/appenderattachableimpl.h" | |
| #include "log4cplus/helpers/loglog.h" | |
| #include "log4cplus/helpers/pointer.h" | |
| #include "log4cplus/spi/loggingevent.h" | |
|  | |
| using namespace std; | |
| using namespace log4cplus; | |
| using namespace log4cplus::helpers; | |
| using namespace log4cplus::spi; | |
| 
 | |
| void | |
| printAppenderList(SharedAppenderPtrList list) | |
| { | |
|    cout << "List size: " << list.size() << endl; | |
|    for(SharedAppenderPtrList::iterator it=list.begin(); it!=list.end(); ++it) { | |
|        log4cplus::tcout << "Loop Body: Appender name = " << (*it)->getName() | |
|                         << endl; | |
|    } | |
| } | |
| 
 | |
| 
 | |
| int | |
| main() | |
| { | |
|     LogLog::getLogLog()->setInternalDebugging(true); | |
|     { | |
|         AppenderAttachableImpl aai; | |
|         try { | |
|             SharedObjectPtr<Appender> append_1(new ConsoleAppender()); | |
|             append_1->setName(LOG4CPLUS_TEXT("First")); | |
| 
 | |
|             SharedObjectPtr<Appender> append_2(new ConsoleAppender()); | |
|             append_2->setName(LOG4CPLUS_TEXT("Second")); | |
| 
 | |
|             InternalLoggingEvent event( | |
|                 Logger::getInstance(LOG4CPLUS_TEXT("test")).getName(), | |
|                 DEBUG_LOG_LEVEL, LOG4CPLUS_TEXT("This is a test..."), NULL, 0); | |
| 
 | |
|             aai.addAppender(append_1); | |
|             aai.addAppender(append_2); | |
|             aai.addAppender(append_1); | |
|             aai.addAppender(append_2); | |
|             printAppenderList(aai.getAllAppenders()); | |
| 
 | |
|             aai.removeAppender(append_2); | |
|             printAppenderList(aai.getAllAppenders()); | |
| 
 | |
|             aai.removeAppender(LOG4CPLUS_TEXT("First")); | |
|             printAppenderList(aai.getAllAppenders()); | |
| 
 | |
|             aai.addAppender(append_1); | |
|             aai.addAppender(append_2); | |
|             aai.addAppender(append_1); | |
|             aai.addAppender(append_2); | |
|             log4cplus::tcout << "Should be First: " | |
|                              << aai.getAppender(LOG4CPLUS_TEXT("First"))->getName() << endl; | |
|             log4cplus::tcout << "Should be Second: " | |
|                              << aai.getAppender(LOG4CPLUS_TEXT("Second"))->getName() << endl | |
|                              << endl; | |
|             append_1->doAppend(event); | |
|             append_2->doAppend(event); | |
|         } | |
|         catch(std::exception const & e) { | |
|             log4cplus::tcout << "**** Exception occured: " << e.what() << endl; | |
|         } | |
| 
 | |
| //      log4cplus::tcout << "*** Calling close()..." << endl; | |
| //      append_2->close(); | |
| //      log4cplus::tcout << "*** Done calling close()..." << endl; | |
|     } | |
| 
 | |
|     log4cplus::tcout << "Exiting main()..." << endl; | |
|     return 0; | |
| } | |
| 
 |