Skip to content

kloper/dgd

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.

About

C++ verbose tracing. Mirror of http://dgd.sf.net

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors