polserver/pol-core/clib/tracebuf.cpp

46 lines
922 B
C++
Raw Permalink Normal View History

/** @file
*
* @par History
*/
2016-02-11 22:54:43 +01:00
#include "tracebuf.h"
2018-02-04 14:10:23 +01:00
#ifndef NDEBUG
2018-02-04 14:30:54 +01:00
#include "logfacility.h"
#include <fmt/format.h>
#include <iterator>
2018-02-04 14:10:23 +01:00
#endif
namespace Pol
{
namespace Clib
{
2016-02-11 22:54:43 +01:00
#ifndef NDEBUG
TraceBufferElem tracebuffer[TRACEBUF_DEPTH];
unsigned tracebuffer_insertpoint;
2016-02-11 22:54:43 +01:00
#endif
void LogTraceBuffer()
{
2016-02-11 22:54:43 +01:00
#ifndef NDEBUG
std::string tmp = "TraceBuffer:\n";
for ( unsigned i = tracebuffer_insertpoint; i < TRACEBUF_DEPTH; ++i )
{
if ( tracebuffer[i].tag )
fmt::format_to( std::back_inserter( tmp ), "{}={}\n", tracebuffer[i].tag,
tracebuffer[i].value );
}
for ( unsigned i = 0; i < tracebuffer_insertpoint; ++i )
{
if ( tracebuffer[i].tag )
fmt::format_to( std::back_inserter( tmp ), "{}={}\n", tracebuffer[i].tag,
tracebuffer[i].value );
2016-02-11 22:54:43 +01:00
}
tmp += "End of TraceBuffer.\n";
POLLOG( tmp );
#endif
}
} // namespace Clib
} // namespace Pol