@ -1,6 +1,9 @@
# include "debuglog.hpp"
# include <mutex>
# include <components/files/configurationmanager.hpp>
namespace Debug
{
Level CurrentDebugLevel = Level : : NoLevel ;
@ -8,7 +11,7 @@ namespace Debug
static std : : mutex sLock ;
Log : : Log ( Debug : : Level level )
Log : : Log ( Debug : : Level level )
: mShouldLog ( level < = Debug : : CurrentDebugLevel )
{
// No need to hold the lock if there will be no logging anyway
@ -34,3 +37,43 @@ Log::~Log()
std : : cout < < std : : endl ;
sLock . unlock ( ) ;
}
Log & Log : : operator < < ( std : : filesystem : : path & & rhs )
{
if ( mShouldLog )
std : : cout < < Files : : pathToUnicodeString ( std : : move ( rhs ) ) ;
return * this ;
}
Log & Log : : operator < < ( const std : : filesystem : : path & rhs )
{
if ( mShouldLog )
std : : cout < < Files : : pathToUnicodeString ( rhs ) ;
return * this ;
}
Log & Log : : operator < < ( std : : u8string & & rhs )
{
if ( mShouldLog )
std : : cout < < Misc : : StringUtils : : u8StringToString ( std : : move ( rhs ) ) ;
return * this ;
}
Log & Log : : operator < < ( const std : : u8string & rhs )
{
if ( mShouldLog )
std : : cout < < Misc : : StringUtils : : u8StringToString ( rhs ) ;
return * this ;
}
Log & Log : : operator < < ( const char8_t * rhs )
{
if ( mShouldLog )
std : : cout < < Misc : : StringUtils : : u8StringToString ( rhs ) ;
return * this ;
}