<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>body{font-family:Helvetica,Arial;font-size:13px}</style>
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
<br>
</div>
<div style="color:black">From: <span style="color:black">Chaigneau, Nicolas</span>
<a href="mailto:nicolas.chaigneau@capgemini.com"><nicolas.chaigneau@capgemini.com></a><br>
Date: <span style="color:black">June 12, 2015 at 10:11:42 AM</span><br>
To: <span style="color:black">Kea Dev List</span> <a href="mailto:kea-dev@lists.isc.org">
<kea-dev@lists.isc.org>></a><br>
Subject: <span style="color:black"> [kea-dev] Suggestions for DHCP packets logs <br>
</span></div>
<br>
<div>
<blockquote type="cite" class="clean_bq" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<span>
<div>
<div></div>
<div>1) don't use log4cplus<span class="Apple-converted-space"> </span><br>
<br>
There is a very significant performance penalty when logging a large volume of data through log4cplus.<span class="Apple-converted-space"> </span><br>
<br>
Packets should not be logged through log4cplus.<span class="Apple-converted-space"> </span><br>
Packets should be written directly through a fstream. (I've measured about 30% improvement in DORA/s capacity, as compared to using log4cplus).<span class="Apple-converted-space"> </span></div>
</div>
</span></blockquote>
</div>
<p>can’t you use Google’s GLOG framework? it supports log rotation and other things. it’s what C++ backend services at Facebook are using.</p>
<p>We don’t use the log rotation facility in GLOG, we just let applications write to stderr/stdout and we use `runit` (<a href="http://smarden.org/runit/">http://smarden.org/runit/</a>), which handles application supervision and log file rotation via the `svlogd`
daemon (<a href="http://smarden.org/runit/svlogd.8.html">http://smarden.org/runit/svlogd.8.html</a>). that’s how we also deployed KEA internally.</p>
<p>-Angelo</p>
</body>
</html>