mv handlers back to .h for inlining
This commit is contained in:
parent
10ad994447
commit
e283c20285
2 changed files with 25 additions and 31 deletions
|
@ -6,12 +6,6 @@ LogStateWrapper::~LogStateWrapper()
|
||||||
for(auto t : _targets){ delete t; }
|
for(auto t : _targets){ delete t; }
|
||||||
}
|
}
|
||||||
|
|
||||||
LogStateWrapper & LogStateWrapper::instance()
|
|
||||||
{
|
|
||||||
static LogStateWrapper inst;
|
|
||||||
return inst;
|
|
||||||
}
|
|
||||||
|
|
||||||
LogStateWrapper::LogTargetWrapper::LogTargetWrapper(FILE * handle)
|
LogStateWrapper::LogTargetWrapper::LogTargetWrapper(FILE * handle)
|
||||||
: _type(Type::Stream),
|
: _type(Type::Stream),
|
||||||
_opened(true),
|
_opened(true),
|
||||||
|
@ -126,16 +120,6 @@ void LogStateWrapper::log_flush_all_targets_internal()
|
||||||
for(auto t : _targets){ t->flush(); }
|
for(auto t : _targets){ t->flush(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
FILE * LogStateWrapper::log_handler_internal()
|
|
||||||
{
|
|
||||||
return *_current_target;
|
|
||||||
}
|
|
||||||
|
|
||||||
FILE * LogStateWrapper::log_tee_handler_internal()
|
|
||||||
{
|
|
||||||
return _stderr_target;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LogStateWrapper::log_disable_internal(bool threadsafe)
|
void LogStateWrapper::log_disable_internal(bool threadsafe)
|
||||||
{
|
{
|
||||||
if(threadsafe)
|
if(threadsafe)
|
||||||
|
@ -290,16 +274,6 @@ LogStateWrapper::LogTargetWrapper * LogStateWrapper::log_set_target_impl(LogTarg
|
||||||
return instance().log_set_target_internal(target);
|
return instance().log_set_target_internal(target);
|
||||||
}
|
}
|
||||||
|
|
||||||
FILE * LogStateWrapper::log_handler_impl()
|
|
||||||
{
|
|
||||||
return instance().log_handler_internal();
|
|
||||||
}
|
|
||||||
|
|
||||||
FILE * LogStateWrapper::log_tee_handler_impl()
|
|
||||||
{
|
|
||||||
return instance().log_tee_handler_internal();
|
|
||||||
}
|
|
||||||
|
|
||||||
void LogStateWrapper::log_disable_impl()
|
void LogStateWrapper::log_disable_impl()
|
||||||
{
|
{
|
||||||
instance().log_disable_internal();
|
instance().log_disable_internal();
|
||||||
|
|
30
common/log.h
30
common/log.h
|
@ -80,7 +80,11 @@ class LogStateWrapper
|
||||||
void operator=(const LogStateWrapper &) = delete;
|
void operator=(const LogStateWrapper &) = delete;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static LogStateWrapper & instance();
|
static LogStateWrapper & instance()
|
||||||
|
{
|
||||||
|
static LogStateWrapper inst;
|
||||||
|
return inst;
|
||||||
|
}
|
||||||
|
|
||||||
class LogTargetWrapper
|
class LogTargetWrapper
|
||||||
{
|
{
|
||||||
|
@ -130,8 +134,6 @@ class LogStateWrapper
|
||||||
LogTargetWrapper * log_set_target_internal(LogTargetWrapper * target);
|
LogTargetWrapper * log_set_target_internal(LogTargetWrapper * target);
|
||||||
LogTargetWrapper * log_add_select_target_internal(LogTargetWrapper * t, bool insert = false);
|
LogTargetWrapper * log_add_select_target_internal(LogTargetWrapper * t, bool insert = false);
|
||||||
void log_flush_all_targets_internal();
|
void log_flush_all_targets_internal();
|
||||||
FILE * log_handler_internal();
|
|
||||||
FILE * log_tee_handler_internal();
|
|
||||||
void log_disable_internal(bool threadsafe = true);
|
void log_disable_internal(bool threadsafe = true);
|
||||||
void log_disable_internal_unsafe();
|
void log_disable_internal_unsafe();
|
||||||
void log_enable_internal(bool threadsafe = true);
|
void log_enable_internal(bool threadsafe = true);
|
||||||
|
@ -141,19 +143,37 @@ class LogStateWrapper
|
||||||
std::string log_filename_generator_internal(const std::string & basename, const std::string & extension);
|
std::string log_filename_generator_internal(const std::string & basename, const std::string & extension);
|
||||||
std::string log_get_pid_internal();
|
std::string log_get_pid_internal();
|
||||||
|
|
||||||
|
FILE * log_handler_internal()
|
||||||
|
{
|
||||||
|
return *_current_target;
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE * log_tee_handler_internal()
|
||||||
|
{
|
||||||
|
return _stderr_target;
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static LogTargetWrapper * log_set_target_impl(const std::string && filename);
|
static LogTargetWrapper * log_set_target_impl(const std::string && filename);
|
||||||
static LogTargetWrapper * log_set_target_impl(const std::string & filename);
|
static LogTargetWrapper * log_set_target_impl(const std::string & filename);
|
||||||
static LogTargetWrapper * log_set_target_impl(FILE * handle);
|
static LogTargetWrapper * log_set_target_impl(FILE * handle);
|
||||||
static LogTargetWrapper * log_set_target_impl(LogTargetWrapper * target);
|
static LogTargetWrapper * log_set_target_impl(LogTargetWrapper * target);
|
||||||
static FILE * log_handler_impl();
|
|
||||||
static FILE * log_tee_handler_impl();
|
|
||||||
static void log_disable_impl();
|
static void log_disable_impl();
|
||||||
static void log_enable_impl();
|
static void log_enable_impl();
|
||||||
static bool log_param_single_parse_impl(const std::string & param);
|
static bool log_param_single_parse_impl(const std::string & param);
|
||||||
static bool log_param_pair_parse_impl(bool parse, const std::string & param, const std::string & next = "");
|
static bool log_param_pair_parse_impl(bool parse, const std::string & param, const std::string & next = "");
|
||||||
static std::string log_filename_generator_impl(const std::string & basename, const std::string & extension);
|
static std::string log_filename_generator_impl(const std::string & basename, const std::string & extension);
|
||||||
static std::string log_get_pid_impl();
|
static std::string log_get_pid_impl();
|
||||||
|
|
||||||
|
static FILE * log_handler_impl()
|
||||||
|
{
|
||||||
|
return instance().log_handler_internal();
|
||||||
|
}
|
||||||
|
|
||||||
|
static FILE * log_tee_handler_impl()
|
||||||
|
{
|
||||||
|
return instance().log_tee_handler_internal();
|
||||||
|
}
|
||||||
}; // class LogStateWrapper
|
}; // class LogStateWrapper
|
||||||
|
|
||||||
// Specifies a log target.
|
// Specifies a log target.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue