You can subscribe to this list here.
2007 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(1) |
Feb
(1) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2011 |
Jan
(8) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
|
From: Matt W. <st...@gm...> - 2015-09-27 23:46:27
|
Pantheios 1.0.1 beta 215 introduces the showPlus format flag, which causes leading pluses to be applied to integers (just as leading minuses will appear for negative numbers). It is used as follows: #include #include int main() { pan::log_INFORMATIONAL("log -10:"); pan::log_INFORMATIONAL("without showPlus: '", pan::i(-10), "'"); pan::log_INFORMATIONAL("with showPlus: '", pan::i(-10, 0, pan::fmt::showPlus), "'"); pan::log_INFORMATIONAL("----------\n"); pan::log_INFORMATIONAL("log +10:"); pan::log_INFORMATIONAL("without showPlus: '", pan::i(+10), "'"); pan::log_INFORMATIONAL("with showPlus: '", pan::i(+10, 0, pan::fmt::showPlus), "'"); pan::log_INFORMATIONAL("----------\n"); pan::log_INFORMATIONAL("log -10 into 10-width:"); pan::log_INFORMATIONAL("without showPlus: '", pan::i(-10, 10, 0), "'"); pan::log_INFORMATIONAL("with showPlus: '", pan::i(-10, 10, pan::fmt::showPlus), "'"); pan::log_INFORMATIONAL("----------\n"); pan::log_INFORMATIONAL("log +10 into 10-width:"); pan::log_INFORMATIONAL("without showPlus: '", pan::i(+10, 10, 0), "'"); pan::log_INFORMATIONAL("with showPlus: '", pan::i(+10, 10, pan::fmt::showPlus), "'"); pan::log_INFORMATIONAL("----------\n"); pan::log_INFORMATIONAL("log -10 into 10-width left-justified:"); pan::log_INFORMATIONAL("without showPlus: '", pan::i(-10, -10, 0), "'"); pan::log_INFORMATIONAL("with showPlus: '", pan::i(-10, -10, pan::fmt::showPlus), "'"); pan::log_INFORMATIONAL("----------\n"); pan::log_INFORMATIONAL("log +10 into 10-width left-justified:"); pan::log_INFORMATIONAL("without showPlus: '", pan::i(+10, -10, 0), "'"); pan::log_INFORMATIONAL("with showPlus: '", pan::i(+10, -10, pan::fmt::showPlus), "'"); pan::log_INFORMATIONAL("----------\n"); return 0; } PANTHEIOS_EXTERN_C PAN_CHAR_T const PANTHEIOS_FE_PROCESS_IDENTITY[] = PANTHEIOS_LITERAL_STRING("test.scratch.showPlus.integer"); which gives the output: [test.scratch.showPlus.integer...]: log -10: [test.scratch.showPlus.integer...]: without showPlus: '-10' [test.scratch.showPlus.integer...]: with showPlus: '-10' [test.scratch.showPlus.integer...]: ---------- [test.scratch.showPlus.integer...]: log +10: [test.scratch.showPlus.integer...]: without showPlus: '10' [test.scratch.showPlus.integer...]: with showPlus: '+10' [test.scratch.showPlus.integer...]: ---------- [test.scratch.showPlus.integer...]: log -10 into 10-width: [test.scratch.showPlus.integer...]: without showPlus: ' -10' [test.scratch.showPlus.integer...]: with showPlus: ' -10' [test.scratch.showPlus.integer...]: ---------- [test.scratch.showPlus.integer...]: log +10 into 10-width: [test.scratch.showPlus.integer...]: without showPlus: ' 10' [test.scratch.showPlus.integer...]: with showPlus: ' +10' [test.scratch.showPlus.integer...]: ---------- [test.scratch.showPlus.integer...]: log -10 into 10-width left-justified: [test.scratch.showPlus.integer...]: without showPlus: '-10 ' [test.scratch.showPlus.integer...]: with showPlus: '-10 ' [test.scratch.showPlus.integer...]: ---------- [test.scratch.showPlus.integer...]: log +10 into 10-width left-justified: [test.scratch.showPlus.integer...]: without showPlus: '10 ' [test.scratch.showPlus.integer...]: with showPlus: '+10 ' [test.scratch.showPlus.integer...]: ---------- -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 9/27/2015 04:14:00 PM |
From: Matt W. <st...@gm...> - 2015-09-27 08:47:05
|
Pantheios is an open source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.6+), Clang, Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.4+), Intel (7+), Metrowerks (8+), Microsoft Visual C++ (6.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial servics, including bespoke customisations, are available from Synesis Software Pty Ltd; http://synesis.com.au/contact.html Pantheios Training is provided by Synesis Software Pty Ltd; details at http://synesis.com.au/training.html Release 1.0.1 beta 215 incorporates: * added interval inserter * added stream_character inserter * Clang-compatibility * VC++ 11-compatibility * VC++ 12-compatibility * VC++ 14-compatibility * showPlus format flag support in pantheios::integer (pan::i) * makefiles customisable to specify non-bundled locations of b64, shwild, xContract, xCover, and xTests libraries (useful to getting head from GitHub) * NOTE: Now requires STLSoft 1.9.121 Download from: https://sourceforge.net/projects/pantheios/files/Pantheios%20%28C%20and%20Cxx%29/ Discuss at: https://sourceforge.net/projects/pantheios/forums/forum/475313 Pantheios website: http://pantheios.org/ Note: this release of Pantheios requires STLSoft 1.9.121, or later; download from http://stlsoft.org/ -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 9/27/2015 01:24:00 AM |
From: Matt W. <st...@gm...> - 2015-09-27 08:43:46
|
Pantheios GitHub access now at: Pantheios - main C/C++ library; Pantheios.Extras.DiagUtil - a suite of functions that aid diagnostics; Pantheios.Extras.Main - which provides a suite of functions that simplify the implementation of main() ; and Pantheios.Extras.xHelpers - a suite of free-function templates that simplify the implementation of non-throwing APIs. Fork away! -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 9/27/2015 01:43:00 AM |
From: Matt W. <st...@gm...> - 2012-05-21 10:34:55
|
To anyone who's still following any of my public works - FastFormat, Pantheios, STLSoft, Breaking Up The Monolith, Quality Matters, VOLE, etc. - and wondering whether these activities are permanently moribund, I want to let you know that I'll soon be free of a very intense and overwhelmingly consuming commercial engagement over the last 2.5 years, and the second half of this year should see much activity in open-source, commercial, and writing activities. Cheers Matt -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 5/21/2012 03:34:00 AM |
From: Matt W. <st...@gm...> - 2011-01-10 09:48:02
|
The latest release of Pantheios - version 1.0.1 beta 210 - closes a vulnerability to implicit conversion of instances of fundamental types in the presence of badly-written third-party C++ libraries. For reasons of robustness, Pantheios log statements do not accept instances of fundamental types - integers, floating-points, bool, char, and so on. Instead, users are advised to select from the set of stock inserter classes and functions provided with the library, or to define their own. Consequently, and by design, statements such as the following will result in compilation errors: #include <pantheios/pantheios.hpp> pantheios::log_NOTICE("int: ", 10); pantheios::log_INFORMATIONAL("float: ", 1.23); pantheios::log_INFORMATIONAL("bool: ", true); Instead, inserters should be used: #include <pantheios/pantheios.hpp> #include <pantheios/inserters/integer.hpp> #include <pantheios/inserters/real.hpp> #include <pantheios/inserters/boolean.hpp> pantheios::log_NOTICE("int: ", pantheios::integer(10)); pantheios::log_INFORMATIONAL("float: ", pantheios::real(1.23)); pantheios::log_INFORMATIONAL("bool: ", pantheios::boolean(true)); This can be expressed more succinctly by using namespace and inserter aliases: #include <pantheios/pan.hpp> #include <pantheios/inserters/i.hpp> #include <pantheios/inserters/real.hpp> #include <pantheios/inserters/b.hpp> pan::log_NOTICE("int: ", pan::i(10)); pan::log_INFORMATIONAL("float: ", pan::real(1.23)); pan::log_INFORMATIONAL("bool: ", pan::b(true)); Unfortunately, in the presence of ATL or MFC - or any other library that has conversion constructors and for which string access shims are defined - the former statements will compile and execute, but will not produce the expected output. Consider the following code: #include <afx.h> #include <pantheios/pan.hpp> pan::log_NOTICE("int: ", 10); In a wide-string build in the presence of MFC, then rather than causing a compilation error, the 10 will actually be converted to an instance of CString, via the conversion constructor taking a TCHAR argument! Obviously this is not desirable, particularly not for a diagnotic logging library! As of 1.0.1 beta 210, there are compile-time constraints in the application layer function templates - log(), log_DEBUG(), etc. - that cause a compile error if any argument is of fundamental type. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/10/2011 01:46:00 AM |
From: Matt W. <st...@gm...> - 2011-01-10 09:46:44
|
The latest release of Pantheios - version 1.0.1 beta 210 - closes a vulnerability to implicit conversion of instances of fundamental types in the presence of badly-written third-party C++ libraries. For reasons of robustness, Pantheios log statements do not accept instances of fundamental types - integers, floating-points, bool, char, and so on. Instead, users are advised to select from the set of stock inserter classes and functions provided with the library, or to define their own. Consequently, and by design, statements such as the following will result in compilation errors: #include <pantheios/pantheios.hpp> pantheios::log_NOTICE("int: ", 10); pantheios::log_INFORMATIONAL("float: ", 1.23); pantheios::log_INFORMATIONAL("bool: ", true); Instead, inserters should be used: #include <pantheios/pantheios.hpp> #include <pantheios/inserters/integer.hpp> #include <pantheios/inserters/real.hpp> #include <pantheios/inserters/boolean.hpp> pantheios::log_NOTICE("int: ", pantheios::integer(10)); pantheios::log_INFORMATIONAL("float: ", pantheios::real(1.23)); pantheios::log_INFORMATIONAL("bool: ", pantheios::boolean(true)); This can be expressed more succinctly by using namespace and inserter aliases: #include <pantheios/pan.hpp> #include <pantheios/inserters/i.hpp> #include <pantheios/inserters/real.hpp> #include <pantheios/inserters/b.hpp> pan::log_NOTICE("int: ", pan::i(10)); pan::log_INFORMATIONAL("float: ", pan::real(1.23)); pan::log_INFORMATIONAL("bool: ", pan::b(true)); Unfortunately, in the presence of ATL or MFC - or any other library that has conversion constructors and for which string access shims are defined - the former statements will compile and execute, but will not produce the expected output. Consider the following code: #include <afx.h> #include <pantheios/pan.hpp> pan::log_NOTICE("int: ", 10); In a wide-string build in the presence of MFC, then rather than causing a compilation error, the 10 will actually be converted to an instance of CString, via the conversion constructor taking a TCHAR argument! Obviously this is not desirable, particularly not for a diagnotic logging library! As of 1.0.1 beta 210, there are compile-time constraints in the application layer function templates - log(), log_DEBUG(), etc. - that cause a compile error if any argument is of fundamental type. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/10/2011 01:46:00 AM |
From: Matt W. <st...@gm...> - 2011-01-08 02:13:05
|
I've just released the first publicly available version - 0.1.1 (alpha 1) - of Pantheios::Extras::DiagUtil; details here. It allows a user to replace code such as: #if defined(_MSC_VER) && \ defined(_DEBUG) # include <crtdbg.h> #endif int main(int argc, char** argv) { #if defined(_MSC_VER) && \ defined(_DEBUG) _CrtMemState memState; _CrtMemCheckpoint(&memState); #endif int result; . . . // main program logic (which must assign to result) #if defined(_MSC_VER) && \ defined(_DEBUG) _CrtMemDumpAllObjectsSince(&memState); #endif return result; } with: #include <pantheios/extras/diagutil.hpp> int program(int argc, char** argv) { . . . // main program logic return EXIT_SUCCESS; } int main(int argc, char** argv) { return pantheios::extras::diagutil:: main_leak_trace::invoke(argc, argv, program); } or, if your program is written in C, with: #include <pantheios/extras/diagutil.h> int program(int argc, char** argv) { . . . // main program logic return EXIT_SUCCESS; } int main(int argc, char** argv) { return pantheios_extras_diagutil_main_leak_trace_invoke( argc, argv, program); } The immediate advantate is clear: substantially improved transparency in your application code. There are three secondary advantages: - you do not need to explicitly conditionally include crtdbg.h - the library can be enhanced in the future to work with other compiler-extensions, without requiring any changes to your code - you do not have to avoid the use of return statements in your main program logic, and to remember to assign to result More memory-tracing functionality will appear in forthcoming releases. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/07/2011 06:12:00 PM |
From: Matt W. <st...@gm...> - 2011-01-07 07:19:47
|
I've just released the first publicly available version - 0.1.1 (alpha 1) - of Pantheios::Extras::Main; details here. It allows a user to replace code such as: char const PROGRAM_NAME[] = "myprogram"; int main(int argc, char** argv) { try { . . . // program logic return EXIT_SUCCESS; } catch(std::bad_alloc&) { pantheios::logputs(pantheios::alert, "out of memory"); fprintf(stderr, "%s: out of memory\n", PROGRAM_NAME); } catch(std::exception& x) { pantheios::log_CRITICAL(x); fprintf(stderr, "%s: %s\n", PROGRAM_NAME, x.what()); } catch(...) { pantheios::logputs(pantheios::emergency, "unexpected unknown failure"); fprintf(stderr, "%s: unexpected unknown failure\n", PROGRAM_NAME); } return EXIT_FAILURE; } with: char const PROGRAM_NAME[] = "myprogram"; int program(int argc, char** argv) { . . . // program logic return EXIT_SUCCESS; } int main(int argc, char** argv) { return pantheios::extras::main::invoke(argc, argv, program, PROGRAM_NAME); } As discussed in the sixth instalment of Quality Matters, Exceptions for Practically-Unrecoverable Conditions, without an exhaustive top-level try-catch statement, program robustness cannot be averred. Pantheios::Extras::Main let's you achieve that in a single statement. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/06/2011 11:16:00 PM |
From: Matt W. <st...@gm...> - 2011-01-07 07:16:23
|
I've just released the first publicly available version - 0.1.1 (alpha 1) - of Pantheios::Extras::Main; details here. It allows a user to replace code such as: char const PROGRAM_NAME[] = "myprogram"; int main(int argc, char** argv) { try { . . . // program logic return EXIT_SUCCESS; } catch(std::bad_alloc&) { pantheios::logputs(pantheios::alert, "out of memory"); fprintf(stderr, "%s: out of memory\n", PROGRAM_NAME); } catch(std::exception& x) { pantheios::log_CRITICAL(x); fprintf(stderr, "%s: %s\n", PROGRAM_NAME, x.what()); } catch(...) { pantheios::logputs(pantheios::emergency, "unexpected unknown failure"); fprintf(stderr, "%s: unexpected unknown failure\n", PROGRAM_NAME); } return EXIT_FAILURE; } with: char const PROGRAM_NAME[] = "myprogram"; int program(int argc, char** argv) { . . . // program logic return EXIT_SUCCESS; } int main(int argc, char** argv) { return pantheios::extras::main::invoke(argc, argv, program, PROGRAM_NAME); } As discussed in the sixth instalment of Quality Matters, Exceptions for Practically-Unrecoverable Conditions, without an exhaustive top-level try-catch statement, program robustness cannot be averred. Pantheios::Extras::Main let's you achieve that in a single statement. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/06/2011 11:16:00 PM |
From: Matt W. <st...@gm...> - 2011-01-04 20:16:32
|
Users will note a flurry of activity of the coming weeks, as any remaining non-beta pre-release issues are dealt with. 2011 is the year that Pantheios will achieve non-beta status, hopefully in Q1. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/04/2011 12:16:00 PM |
From: Matt W. <st...@gm...> - 2011-01-04 20:15:03
|
The newly released Pantheios 1.0.1 beta 208 contains an enhancement to be.file: the addition of a new API function pantheios_be_file_flush(). int pantheios_be_file_flush(int backEndId); The function takes a single int argument, backEndId, representing the identifier of the specific be.file back-end instance to be flushed, or PANTHEIOS_BEID_ALL, to apply to all be.file back-end instances. The function returns 0 on success, or a status code representing failure in one or more be.file back-end instances. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/04/2011 12:14:00 PM |
From: Matt W. <st...@gm...> - 2011-01-04 20:11:25
|
Pantheios 1.0.1 beta 208 is released. It contains: - addition of new API function, pantheios_be_file_flush(), to be.file. - fix of defect in be.file, whereby interpretation of date/time format specifiers in its file path - a feature added in 1.0.1 beta 197 - failed to add 1900 to year and 1 to month in be.file's - changes in names of status codes, removing word ERROR, and replacing with FAILURE. - removal of all remaining vestigial uses of magic numbers - principally -1 and -2 - from exception-catch clauses in core and several back-ends, and replacement with suitable status codes (e.g. PANTHEIOS_INIT_RC_UNSPECIFIED_FAILURE). - non-functional enhancements to be.N, in preparation for new functionality in a forthcoming release - added a new FAQ item (#19), which explains how to use get Pantheios to compile the libraries when using Microsoft Visual C++'s -Zc:wchar_t- flag. - removed -D_CRT_SECURE_NO_DEPRECATE from all Visual C++ (8+) makefiles, since all Pantheios (and supporting STLSoft) files are now compatible with Microsoft's "safe string" library. - added a new example, example.cpp.util.strdup, illustrating use of utility functions pantheios::util::strdup_throw() and pantheios::util::strdup_nothrow(). - removed all include/pantheios/extras/* files, which will (re-)appear in separate package distributions henceforth. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 1/04/2011 12:11:00 PM |
From: Matt W. <st...@gm...> - 2010-11-08 21:05:56
|
The new release of STLSoft supports seamless use of exceptions with Pantheios (and FastFormat) in wide-string builds; described on this post on the STLSoft project blog. -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 11/08/2010 01:05:00 PM |
From: Matthew W. <st...@gm...> - 2010-11-08 20:22:48
|
Pantheios is an open source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.6+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.4+), Intel (7+), Metrowerks (8+), Microsoft Visual C++ (6.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial servics, including bespoke customisations, are available by Synesis Software Pty Ltd; http://synesis.com.au/contact.html Pantheios Training is provided by Synesis Software Pty Ltd; details at http://synesis.com.au/training.html Release 1.0.1 beta 198 incorporates: * added pantheios::i shorthand inserter typedef (for pantheios::integer) * added pantheios::xi shorthand inserter class (for pantheios::integer) * fixed defect vulnerability in PANTHEIOS_ASSERT() and PANTHEIOS_MESSAGE_ASSERT() * improves compatibility between narrow/wide Pantheios and narrow/wide ACE in be.ACE * improved detection of ACE in makefiles * trace API now reports file+line in bailout when assert log fails * added example for pantheios::i inserter * added example for pantheios::xi inserter * NOTE: Now requires STLSoft 1.9.102 Download from: http://sourceforge.net/project/showfiles.php?group_id=141831&package_id=155759 Discuss at: http://sourceforge.net/forum/forum.php?forum_id=475313 Pantheios website: http://pantheios.org/ Note: this release of Pantheios requires STLSoft 1.9.102, or later; download from http://stlsoft.org/ -- Dr Matthew D. Wilson Director - Synesis Software m: +61 410 442244 t: +61 2 9399 9136 e: ma...@sy... w: www.synesis.com.au Synesis Software Pty Ltd | Project Rescue | Software Team Management | Training | Software Architecture and Design | Custom Product Development | Solution Review | This communication is confidential and may contain legally privileged information. If you are not the named recipient, please contact us immediately. You must not copy, use or disclose this communication, or any attachments or information in it, without our consent. |
From: Matt W. <st...@gm...> - 2010-11-08 20:17:32
|
The latest release of Pantheios includes two new inserters, pantheios::i and pantheios::xi. The former is a typedef for the pantheios::integer inserter class, and may be used interchangeably with it: #include <pantheios/inserters/i.hpp> #include <pantheios/pan.hpp> int n = 10; pan::log_DEBUG("i=", pan::i(n)); pan::log_DEBUG("i=", pan::i(n, -10)); pan::log_DEBUG("i=", pan::i(n, -10, pan::fmt::hex)); produces the same output (and effectively the same binary) as: #include <pantheios/inserters/integer.hpp> #include <pantheios/pan.hpp> int n = 10; pan::log_DEBUG("i=", pan::integer(n)); pan::log_DEBUG("i=", pan::integer(n, -10)); pan::log_DEBUG("i=", pan::integer(n, -10, pan::fmt::hex)); The latter is actually a new class, and is used specifically for inserting integers in hexadecimal form, optionally specifying minimum width: #include <pantheios/inserters/xi.hpp> #include <pantheios/pan.hpp> int n = 16; pan::log_DEBUG("i=", pan::xi(n)); pan::log_DEBUG("i=", pan::xi(n, -10)); The (hopefully obvious) advantage to both these new inserter types is that they're more succinct. There are more to come ... -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 11/08/2010 12:17:00 PM |
From: Matt W. <st...@gm...> - 2010-11-02 21:38:38
|
Just to let you know, a user has kindly posted a tutorial Pantheios logging library - basic blog entry, which covers the basics of obtaining, installing, and using the Pantheios library. I've just scanned it, and it looks like it covers quite a lot of stuff. I'll read it fully soon, and post any more relevant news. Thanks, Son DN! -- Posted By Matt Wilson to Pantheios Tips 'n' Tricks at 11/02/2010 02:38:00 PM |
From: Matthew W. <ma...@sy...> - 2009-04-17 05:57:44
|
From: Matthew W. <ma...@sy...> - 2009-02-18 03:42:34
|
From: Matthew W. <ma...@sy...> - 2008-08-11 06:35:22
|
Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.5.1+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.2+), Intel (6+), Metrowerks (8+), Microsoft Visual C++ (5.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial customisations (of front-/back-ends are provided by Synesis Software Pty Ltd; http://synesis.com.au/contact.html) Release 1.0.1 beta 148 incorporates: * a large number of small changes to the names and/or namespaces of utility functions and classes that do not form part of the set commonly used by authors of client code, in order to simplify the apparent APIs of the Core and Application Layer * bundles xTests 0.8.4 Note: this release of Pantheios requires STLSoft 1.9.45, or later. Download from http://stlsoft.org/ Download from: http://sourceforge.net/project/showfiles.php?group_id=141831&package_id=155759 Discuss at: http://sourceforge.net/forum/forum.php?forum_id=475313 Pantheios website: http://pantheios.org/ |
From: Matthew W. <ma...@sy...> - 2008-08-07 21:46:54
|
Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.5.1+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.2+), Intel (6+), Metrowerks (8+), Microsoft Visual C++ (5.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial customisations (of front-/back-ends are provided by Synesis Software Pty Ltd; http://synesis.com.au/contact.html) Release 1.0.1 beta 147 incorporates: * enhanced pantheios::boolean inserter class to be I18N/L10N-friendly * added unit test for pantheios::boolean inserter class * adjustments to contract enforcement conditions to be compatible with ultra-pedantic GCC 4.3 warnings Note: this release of Pantheios requires STLSoft 1.9.45, or later. Download from http://stlsoft.org/ Download from: http://sourceforge.net/project/showfiles.php?group_id=141831&package_id=1557 59 Discuss at: http://sourceforge.net/forum/forum.php?forum_id=475313 Pantheios website: http://pantheios.org/ -- Dr Matthew D. Wilson Director, Synesis Software - Fit-for-purpose Software Solutions (www.synesis.com.au) Author: "Extended STL, volume 1", Addison-Wesley, 2007 (www.extendedstl.com) Author: "Imperfect C++", Addison-Wesley, 2004 (www.imperfectcplusplus.com) |
From: Matthew W. <ma...@sy...> - 2008-08-07 21:46:43
|
Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.5.1+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.2+), Intel (6+), Metrowerks (8+), Microsoft Visual C++ (5.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial customisations (of front-/back-ends are provided by Synesis Software Pty Ltd; http://synesis.com.au/contact.html) Release 1.0.1 beta 146 incorporates: * added pantheios::boolean inserter class * added unit test for be.fprintf Note: this release of Pantheios requires STLSoft 1.9.45, or later. Download from http://stlsoft.org/ Download from: http://sourceforge.net/project/showfiles.php?group_id=141831&package_id=1557 59 Discuss at: http://sourceforge.net/forum/forum.php?forum_id=475313 Pantheios website: http://pantheios.org/ -- Dr Matthew D. Wilson Director, Synesis Software - Fit-for-purpose Software Solutions (www.synesis.com.au) Author: "Extended STL, volume 1", Addison-Wesley, 2007 (www.extendedstl.com) Author: "Imperfect C++", Addison-Wesley, 2004 (www.imperfectcplusplus.com) |
From: Matthew W. <ma...@sy...> - 2008-07-29 00:58:04
|
Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.5.1+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.2+), Intel (6+), Metrowerks (8+), Microsoft Visual C++ (5.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial customisations (of front-/back-ends are provided by Synesis Software Pty Ltd; http://synesis.com.au/contact.html) Release 1.0.1 beta 143 incorporates: * refactoring of process Id and thread Id functions * added support for GCC 4.3 Note: this release of Pantheios requires STLSoft 1.9.45, or later. Download from http://stlsoft.org/ Download from: http://sourceforge.net/project/showfiles.php?group_id=141831&package_id=1557 59 Discuss at: http://sourceforge.net/forum/forum.php?forum_id=475313 Pantheios website: http://pantheios.org/ -- Dr Matthew D. Wilson Director, Synesis Software - Fit-for-purpose Software Solutions (www.synesis.com.au) Author: "Extended STL, volume 1", Addison-Wesley, 2007 (www.extendedstl.com) Author: "Imperfect C++", Addison-Wesley, 2004 (www.imperfectcplusplus.com) |
From: Matthew W. <ma...@sy...> - 2008-06-01 23:52:32
|
Hi Just to let you know that I'm only a few hours away from releasing the first publicly available version of FastFormat. This library uses the same technologies - Shims and Type Tunneling - as Pantheios, and with similar benefits: - extremely high performance (often processing lines without any memory allocations within the library) - 100% type-safety - high expressiveness and client code transparency - high genericity and infinite extensibility - support for I18N/L15N I hope you'll take an interest and give it a test-drive. Best Matt |
From: Matthew W. <ma...@sy...> - 2008-05-04 12:59:30
|
Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.5.1+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.2+), Intel (6+), Metrowerks (8+), Microsoft Visual C++ (5.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial customisations (of front-/back-ends are provided by Synesis Software Pty Ltd; http://synesis.com.au/contact.html) Release 1.0.1 beta 130 incorporates: * Win64 compatibility * bundles shwild 0.9.15 * bundles xTests 0.7.1 * NOTE: Now requires STLSoft 1.9.38 Note: this release of Pantheios requires STLSoft 1.9.38, or later. Download from http://stlsoft.org/ Download from: http://sourceforge.net/project/showfiles.php?group_id=141831&package_id=1557 59 Discuss at: http://sourceforge.net/forum/forum.php?forum_id=475313 Pantheios website: http://pantheios.org/ -- Dr Matthew D. Wilson Director, Synesis Software - Fit-for-purpose Software Solutions (www.synesis.com.au) Author: "Extended STL, volume 1", Addison-Wesley, 2007 (www.extendedstl.com) Author: "Imperfect C++", Addison-Wesley, 2004 (www.imperfectcplusplus.com) |
From: Matthew W. <ma...@sy...> - 2008-04-05 02:21:15
|
Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogeneous types. Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol. Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Windows debugger, Windows event log, COM Error Object, Speech, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx. Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.5.1+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.2+), Intel (6+), Metrowerks (8+), Microsoft Visual C++ (5.0+), and should work with any reasonably modern C++ compiler. Pantheios is completely free and includes source released under a BSD-style license. Commercial customisations (of front-/back-ends are provided by Synesis Software Pty Ltd; http://synesis.com.au/contact.html) Release 1.0.1 beta 117 incorporates: * fix for threadId component test on Mac OS-X (G4) Note: this release of Pantheios requires STLSoft 1.9.30, or later. Download from http://stlsoft.org/ Download from: http://sourceforge.net/project/showfiles.php?group_id=141831&package_id=155759 Discuss at: http://sourceforge.net/forum/forum.php?forum_id=475313 Pantheios website: http://pantheios.org/ |