SourceForge logo
SourceForge logo
log4cplus

log4cplus

Logging Framework for C++

Brought to you by: wilx
Share This
Email in envelope

Get an email when there's a new version of log4cplus

Linux Windows

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.

Project Activity

See All Activity >

License

Apache License V2.0

Follow log4cplus

log4cplus Web Site

You Might Also Like
Connect your teams with an integrated digital workplace Icon
Connect your teams with an integrated digital workplace

Wherever your teams work, keep them connected with a digital workplace that unifies all your productivity tools in one central place

Claromentis provides a reliable and feature-rich business intranet software for modern organizations. Offering collaborative, social, knowledge-sharing, and enterprise-level applications, Claromentis' intranet platform enables businesses to enjoy greater productivity, collaboration, and security. Claromentis' intranet software can be deployed on-premise, in the cloud, or on a company's data center. It can also be customized to meet unique business needs through the addition of modules.
Free Trial
Rate This Project
Login To Rate This Project

User Ratings

4.4 out of 5 stars
★★★★★
★★★★
★★★
★★
22
0
0
1
3
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5

User Reviews

  • redbluejay Posted 2019年01月19日
    This logging library is not for the faint of heart. It's quite user-hostile, partly due to the lack of good documentation. Even so, this library can serve adequately for simple applications. The main problem lies with the way it manages lifetimes, memory and initialization. One cannot initialize the library more than once. If your client application forks, you better shut down the logger first, and then make sure that the new process immediately does an exec, after which the new process must reinitialize the logger. And the forking/parent process can no longer use the logger. This logger could be a great one with a few changes: 1. Get rid of all global/static objects. Allow the user to create and manage the DefaultContext, etc, with modern RAII techniques. 2. Allow the library to be initialized and uninitialized multiple times, similar to a Phoenix Singleton.
  • yoymoyroy Posted 2017年04月26日
    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!
  • davy2900 Posted 2016年09月14日
    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
  • soulinhades Posted 2016年02月03日
    Agree with kyberuserid..., I used this API in a project with hopes that it would simplify my task of development, but it didn't... Worked in native win32/x64 version of the application that uses it, but when called from managed code that uses the native version of application dll it throws scheduler_resource_allocation_error. So I'm going to consider looking for something else, maybe Pantheios - I'm back to square one after all that bloody hard work only to discover that I can't make a release because it fails with .NET
  • robertcorreia Posted 2013年06月22日
    Thanks for good program!
    1 user found this review helpful.
Read more reviews>

Additional Project Details

Operating Systems

BSD, Cygwin, Linux, Windows

Languages

English

Intended Audience

Developers

Programming Language

C++

Related Categories

C++ Software Development Software, C++ Logging Software, C++ Log Management Tool

Registered

2001年11月27日
Thanks for helping keep SourceForge clean.
X

Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /