kloper/dgd
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
DGD Library v2 README ===================================== Copyright (c) 2002-2012. Dimitry Kloper <kloper@users.sourceforge.net> Available from http://sourceforge.net/projects/dgd About ===== DGD is yet another logging library for C++. It was designed for "debug using log file" approach, useful for debugging applications that implement complicated algorithms and have lots of iterations distributed among different execution threads. Such applications typically have "trace verbose" or "trace nothing" policy, but require clear and well-formatted log file that will contain all data required for later analysis and debugging. Thus, DGD has rudimentary (but still useful) trace filtering capabilities, but very nice automated log indenting and formatting. Dependencies ============ DGD v2 is heavily tied to C++ boost library (http://boost.org) and is implemented on top of boost::iostreams library. Multithreading ============== DGD v2 produces a separate log file for each thread invoking DGD API. Tested Platforms/Compilers ========================== gcc 4.5 mingw32 boost 1.47 License terms ============= Boost Software License. See http://boost.org/users/license.html for more details. Feature list ============ * Logs with limited line width, controllable word wrapping and automatic indenting. * Standard iostream manipulators are fully supported and many new ones are implemented. * Any ostream shift operator is supported. No need to port existing tracing methods to DGD. It is possible to enhance existing tracing operators with DGD manipulators. * Automatic scoping. Defining a single variable in code logical block will create an indented block in the log delimited with braces. * Log journal is used for handling unexpected exceptions, segmentation violations and other crashes. The journal is kept next to the log file and is implemented as a cyclic memory mapped buffer. * Extensibility. DGD is implemented on top of boost::iostreams, and provides filters and sinks introduced by the library. Users can add their own components to the chain, customizing and extending DGD behavior. * Many more and more is coming. Installation ============ DGD v2 is a template library and can be used without any prior compilation. For information about building of DGD test suite and samples refer to instructions in INSTALL file in DGD root directory. Similar libraries ================= libcwd (http://libcwd.sourceforge.net/) -- full-featured debugging support library for C++ developers. log4cpp (http://log4cpp.sourceforge.net) -- Log4cpp is library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. Bug reports =========== Please report bugs at http://sourceforge.net/tracker/?group_id=62230&atid=499876 Mailing lists ============= Please refer to the mailing list of the project at http://sourceforge.net/projects/dgd.