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
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline int pid()
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
return ::_getpid();
|
||||||
|
#else
|
||||||
|
return static_cast<int>(::getpid());
|
||||||
|
#endif
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
} //os
|
} //os
|
||||||
} //details
|
} //details
|
||||||
} //spdlog
|
} //spdlog
|
||||||
|
@ -356,7 +356,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Thread id
|
// Thread id
|
||||||
class t_formatter:public flag_formatter
|
class t_formatter:public flag_formatter
|
||||||
{
|
{
|
||||||
void format(details::log_msg& msg, const std::tm&) override
|
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
|
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()));
|
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::full_formatter()));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ('P'):
|
||||||
|
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::pid_formatter()));
|
||||||
|
break;
|
||||||
|
|
||||||
default: //Unkown flag appears as is
|
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('%')));
|
||||||
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::ch_formatter(flag)));
|
_formatters.push_back(std::unique_ptr<details::flag_formatter>(new details::ch_formatter(flag)));
|
||||||
|
Loading…
Reference in New Issue
Block a user