DGD Library v2 README
Copyright (c) 2002-2012. Dimitry Kloper email@example.com
Available from http://sourceforge.net/projects/dgd
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.
DGD v2 is heavily tied to C++ boost library (http://boost.org) and is
implemented on top of boost::iostreams library.
DGD v2 produces a separate log file for each thread invoking DGD API.
gcc 4.5 mingw32 boost 1.47
Boost Software License. See http://boost.org/users/license.html for more details.
- 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.
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.
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
Please report bugs at
Please refer to the mailing list of the project at