33static std::map<qt::t_str const, messages const>
codes =
44static std::map<messages const, qt::t_str const>
levels =
55static std::map<qt::t_str const, qt::t_str const>
titles =
73 std::lock_guard<std::mutex> lock (
m_block );
94 else if (
error == l )
104 else if (
fail == l )
109 else if (
note == l )
114 else if (
debug == l )
125 auto codeit =
codes.find ( l );
126 assert ( codeit !=
codes.end() );
127 m_batches[
static_cast<int const
> ( codeit->second )].insert ( m );
136 if ( not clevel->empty() )
138 t_str merged (
"Summary of messages during batch mode" );
140 for(
auto it = clevel->begin(); it != clevel->end(); ) {
141 auto cnt = clevel->count(*it);
143 t_str cmessage = *it;
144 merged +=
t_str (
"\n\n" ) + cmessage +
t_str (
"\n\n #Occurances=" ) + std::to_string(cnt);
146 std::advance(it, cnt);
159 return std::unique_ptr<batch_guard> (
new batch_guard() );
static std::atomic< bool > m_batch_mode
static t_batches m_batches
static std::unique_ptr< batch_guard > batchmode()
static post_ret_type merge_post(t_str const &m, t_str const &l)
static std::mutex m_block
std::array< t_message_bucket, static_cast< int >(messages::sizeme) > t_batches
static post_ret_type direct_post(t_str const &m, t_str const &l)
static HAS_POST post_ret_type post(t_str const &, t_str const &)
void fail(t_extstr const &, t_extstr const &)
static messenger_proxy & ref()
void info(t_extstr const &, t_extstr const &)
void warn(t_extstr const &, t_extstr const &)
void error(t_extstr const &, t_extstr const &)
#define TLOG_DEBUG(lvl,...)
static std::map< qt::t_str const, qt::t_str const > titles
static std::map< qt::t_str const, messages const > codes
static std::map< messages const, qt::t_str const > levels
std::vector< t_str > t_levels
static t_levels const all_levels
Factory couldn t std::string alg_name Invalid configuration error