polserver/pol-core/clib/Debugging/LogSink.cpp
turleypol 43b776b94d
New format lib version (#592)
* renamed include guard to be able to use both format lib versions in
parallel

* build Fmt lib and link it into clib

* use std::string instead of format Writer for logging
added variant "2" for logging with new fmt lib

* use new logging variant for two logs

* always add \n to flush log, lets see if the assumption holds

* use new lib for tostring

* replaced all INFO_PRINTS in clib

* formatter for Token, BObject and BObjectImp

* started with bsccript

* use function instead of actual object for logging

* remaining bscript, started plib

* logvariant without newline added, more template magic

* format support for base types, added test for format padding
new version for fdump

* chanhed ecompile/runecl fixed compilation with ESCRIPT_PROFILE

* rewrite INFO_PRINT in plib,poltool/uoconvert/uotool

* replaced remaining INFO_PRINTS, renamed macros INFO_PRINT for logging
without newline, INFO_PRINTLN for newline addition.
Replaced also INFO_PRINT_TRACE and renamed it to INFO_PRINTLN_TRACE

* gitignore for fmt lib

* cleanup vim leftovers
2024-01-10 18:29:10 +01:00

27 lines
532 B
C++

#include "LogSink.h"
#include <chrono>
#include <fmt/chrono.h>
#include <time.h>
#include "../clib.h"
namespace Pol::Clib::Logging
{
using std::chrono::system_clock;
void LogSink::addTimeStamp( std::ostream& stream )
{
stream << getTimeStamp();
}
std::string LogSink::getTimeStamp()
{
time_t tClockTime = system_clock::to_time_t( system_clock::now() );
struct tm tTime = Clib::localtime( tClockTime );
// write "[%m/%d %H:%M:%S] "
return fmt::format( "[{:%m/%d %T}] ", tTime );
}
} // namespace Pol::Clib::Logging