log4cplus is a simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. It is modelled after the Java log4j API.
License
Apache License V2.0
You Might Also Like
Rate This Project
Login To Rate This Project
User Reviews
-
hi worked quite well for me here is a guide if you have problems How to Linux unzip the files and open now a terminal in the created folder step 1 enter in your terminal: cmake . step 2 after cmake is finished enter: make step 3 now enter: sudo make install after this log4cplus files ,which you need to Link in your IDE are installed in /usr/local/include/log4cplus and /usr/local/liblog4cplus.so now you can close your terminal and you 're finshed For the ones who using cmake here is an example CMakeLists.txt ######################CMakeLists.txt############# cmake_minimum_required(VERSION 2.8) add_compile_options(-std=c++14) #project name project( Log4CPlusExample) set( CMAKE_C_FLAGS "-Wall -g" ) file(GLOB SRCS *.cpp *.h) set(LOG4CPLUS_INCLUDE_DIR /usr/local/include/log4cplus) set(LOG4PLUS_LIBRARY /usr/local/lib/liblog4cplus.so) add_executable( Log4CPlusExample ${SRCS} ) include_directories( ${LOG4CPLUS_INCLUDE_DIR} ) target_link_libraries(Log4CPlusExample ${LOG4PLUS_LIBRARY} ) ################################################# Here is a small Hello World logger example #################MyLogger.h########################## /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /* * File: MyLogger.h * Author: yoymoyroy * * Created on 26. April 2017, 14:04 */ //my log header #ifndef MYLogger_H #define MYLogger_H #include <log4cplus/loggingmacros.h> //wichtig enthält alle wege wie ich einen Log Schreibe #include <log4cplus/consoleappender.h> #include <log4cplus/layout.h> #include <log4cplus/logger.h> //Consol appender static log4cplus::helpers::SharedObjectPtr<log4cplus::Appender> consoleAppender (new log4cplus::ConsoleAppender()); static std::string pattern = "%d{%m/%d/%y %H:%M:%S} - %m [%l]%n"; static std::auto_ptr<log4cplus::Layout> layout(new log4cplus::PatternLayout(pattern)); //logger static log4cplus::Logger logger = log4cplus::Logger::getInstance("Display"); #endif ############################################## ##############main.cpp###################### #include "MyLogger.h" using namespace log4cplus; using namespace log4cplus::helpers; int main() { consoleAppender->setName("ConsolAppender"); consoleAppender->setLayout(layout); logger.setLogLevel(ALL_LOG_LEVEL); logger.addAppender(consoleAppender); LOG4CPLUS_INFO(logger,"Hallo World!!"); } ######################################## thats it greedings from Germany!
-
When i use the AsyncAppender in V1.2.0, VS2010 had detected many memory leaks like this: {2713} normal block at 0x00000000039C3070, 40 bytes long. Data: <@ I > 40 8B 49 00 00 00 00 00 FF FF FF FF 00 00 00 00 {2712} normal block at 0x00000000039BE0B0, 72 bytes long. Data: < @ @ > 08 EE 86 40 01 00 00 00 10 EE 86 40 01 00 00 00 {2711} normal block at 0x00000000039C1F40, 40 bytes long. Data: < I > E0 8A 49 00 00 00 00 00 FF FF FF FF 00 00 00 00 {2710} normal block at 0x00000000039BE000, 64 bytes long. Data: <(z @ 8z @ > 28 7A 87 40 01 00 00 00 38 7A 87 40 01 00 00 00 {2709} normal block at 0x00000000039C1ED0, 8 bytes long. Data: < > E4 01 00 00 00 00 00 00 {2708} normal block at 0x00000000039BDA00, 8 bytes long. Data: < > E0 01 00 00 00 00 00 00 {2707} normal block at 0x00000000039C1E40, 40 bytes long. Data: < I > 80 8A 49 00 00 00 00 00 FF FF FF FF 00 00 00 00 {2706} normal block at 0x00000000039BF370, 16 bytes long. Data: < > 18 A2 9B 03 00 00 00 00 00 00 00 00 00 00 00 00 {2705} normal block at 0x00000000039BF2E0, 40 bytes long. Data: < I > 20 8A 49 00 00 00 00 00 FF FF FF FF 00 00 00 00 {2704} normal block at 0x00000000039BA210, 112 bytes long. Data: < @ p > B8 C4 87 40 01 00 00 00 70 F3 9B 03 00 00 00 00 {2701} normal block at 0x00000000039B9300, 8 bytes long. Data: < > 00 00 00 00 00 00 00 00 {2309} normal block at 0x00000000039C1DC0, 16 bytes long. Data: < > 80 A4 9B 03 00 00 00 00 00 00 00 00 00 00 00 00 {2308} normal block at 0x00000000039C1D30, 40 bytes long. Data: <p=E > 70 3D 45 00 00 00 00 00 FF FF FF FF 00 00 00 00 {2307} normal block at 0x00000000039C1CB0, 16 bytes long. Data: < - @ > 88 2D 87 40 01 00 00 00 01 CD CD CD CD CD CD CD {2306} normal block at 0x00000000039C0E70, 16 bytes long. Data: < > 18 A4 9B 03 00 00 00 00 00 00 00 00 00 00 00 00 {2305} normal block at 0x00000000039C0DF0, 16 bytes long. Data: < @ @ > 90 8C 87 40 01 00 00 00 40 06 9B 03 00 00 00 00 {2304} normal block at 0x00000000039BA540, 40 bytes long. Data: <P<E > 50 3C 45 00 00 00 00 00 FF FF FF FF 00 00 00 00 {2303} normal block at 0x00000000039BA400, 208 bytes long. Data: < | @ H| @ > 08 7C 87 40 01 00 00 00 48 7C 87 40 01 00 00 00
-
Thanks for good program!
-
Thanks for good program!
-
Wouldn't it be better to move the project to github? Or at least provide official mirror?