<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pantheios on The Lone C++ Coder's Blog</title><link>https://www.lonecpluspluscoder.com/tags/pantheios/</link><description>Recent content in Pantheios on The Lone C++ Coder's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sat, 15 Nov 2014 07:00:28 +0000</lastBuildDate><atom:link href="https://www.lonecpluspluscoder.com/tags/pantheios/index.xml" rel="self" type="application/rss+xml"/><item><title>Using pantheios to log from a C++ JNI DLL</title><link>https://www.lonecpluspluscoder.com/2014/11/15/using-pantheios-log-c-jni-dll/</link><pubDate>Sat, 15 Nov 2014 07:00:28 +0000</pubDate><author>Timo Geusch</author><guid>https://www.lonecpluspluscoder.com/2014/11/15/using-pantheios-log-c-jni-dll/</guid><description>&lt;p>&lt;em>I originally published this post on my old blog in 2009. I&amp;rsquo;ve edited it a little for readability but left the contents unchanged, so it may be out of date and not reflect the current state of the &lt;a href="http://www.pantheios.org/">pantheios&lt;/a> library. I also haven&amp;rsquo;t been using pantheios for logging since about 2010, and have been using &lt;a href="http://www.boost.org/doc/libs/1_55_0/libs/log/doc/html/index.html">Boost.Log&lt;/a> instead.&lt;/em>&lt;/p>
&lt;p>I recently had to come up with a logging solution for C++ code a JNI DLL/shared library that is providing the data translation layer between Java and underlying native C and C++ libraries. As usual, some logging was required to aid fault-finding in a production environment, if necessary. A quick survey of the state of C++ logging showed that not a lot had changed since I last looked at logging libraries. In fact, a lot of them seem to have survived unchanged for several years. I&amp;rsquo;m not sure if that is a good thing and a sign of maturity or a sign of &amp;ldquo;making do&amp;rdquo; and the low priority most projects assign to a performant logging library. Eventually I settled on &lt;a href="http://www.pantheios.org/">pantheios&lt;/a> as it offered several features that were crucial for this application. The major one was that pantheios it is extremely modular and will only link in the parts you really need. I consider this a major advantage over the more monolithic libraries that pull in all their functionality all the time, especially when you link them in as a static library (yes, &lt;a href="https://logging.apache.org/log4cxx/index.html">log4cxx&lt;/a>, I&amp;rsquo;m looking at you). Linking in the logging library as a static library was necessary to avoid conflicts with other libraries that are being used in the same process.&lt;/p></description></item></channel></rss>