pid support (added the %P option to formatter)
This commit is contained in:
parent
cda27d2bff
commit
cf73f02eaf
@ -356,6 +356,17 @@ inline std::string errno_str(int err_num)
|
||||
#endif
|
||||
}
|
||||
|
||||
inline int pid()
|
||||
{
|
||||
|
||||
#ifdef _WIN32
|
||||
return ::_getpid();
|
||||
#else
|
||||
return static_cast<int>(::getpid());
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
} //os
|
||||
} //details
|
||||
} //spdlog
|
||||
|
@ -356,7 +356,7 @@ private:
|
||||
|
||||
|
||||
|
||||
//Thread id
|
||||
// Thread id
|
||||
class t_formatter:public flag_formatter
|
||||
{
|
||||
void format(details::log_msg& msg, const std::tm&) override
|
||||
@ -365,6 +365,15 @@ class t_formatter:public flag_formatter
|
||||
}
|
||||
};
|
||||
|
||||
// Current pid
|
||||
class pid_formatter:public flag_formatter
|
||||
{
|
||||
void format(details::log_msg& msg, const std::tm&) override
|
||||
{
|
||||
msg.formatted << details::os::pid();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class v_formatter:public flag_formatter
|
||||
{
|
||||
@ -453,6 +462,8 @@ class full_formatter:public flag_formatter
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -611,6 +622,10 @@ inline void spdlog::pattern_formatter::handle_flag(char flag)
|
||||
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::full_formatter()));
|
||||
break;
|
||||
|
||||
case ('P'):
|
||||
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::pid_formatter()));
|
||||
break;
|
||||
|
||||
default: //Unkown flag appears as is
|
||||
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::ch_formatter('%')));
|
||||
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::ch_formatter(flag)));
|
||||
|
Loading…
Reference in New Issue
Block a user