Merge pull request #1608
1e8cc676
mlog: allow using numerical level as default prefix (moneromooo-monero)8028b532
protocol: log received messages in a separate category (moneromooo-monero)
This commit is contained in:
commit
daf66621dc
2 changed files with 47 additions and 33 deletions
|
@ -108,6 +108,32 @@ void mlog_configure(const std::string &filename_base, bool console)
|
||||||
mlog_set_categories(monero_log);
|
mlog_set_categories(monero_log);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *get_default_categories(int level)
|
||||||
|
{
|
||||||
|
const char *categories = "";
|
||||||
|
switch (level)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
categories = "*:FATAL,net*:FATAL,global:INFO,verify:FATAL,stacktrace:INFO";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
categories = "*:WARNING,global:INFO,stacktrace:INFO";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
categories = "*:DEBUG";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
categories = "*:TRACE";
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
categories = "*:TRACE";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return categories;
|
||||||
|
}
|
||||||
|
|
||||||
void mlog_set_categories(const char *categories)
|
void mlog_set_categories(const char *categories)
|
||||||
{
|
{
|
||||||
el::Loggers::setCategories(categories);
|
el::Loggers::setCategories(categories);
|
||||||
|
@ -117,30 +143,9 @@ void mlog_set_categories(const char *categories)
|
||||||
// maps epee style log level to new logging system
|
// maps epee style log level to new logging system
|
||||||
void mlog_set_log_level(int level)
|
void mlog_set_log_level(int level)
|
||||||
{
|
{
|
||||||
const char *settings = NULL;
|
const char *categories = get_default_categories(level);
|
||||||
switch (level)
|
el::Loggers::setCategories(categories);
|
||||||
{
|
MINFO("Mew log categories: " << categories);
|
||||||
case 0:
|
|
||||||
settings = "*:FATAL,net*:FATAL,global:INFO,verify:FATAL,stacktrace:INFO";
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
settings = "*:WARNING,global:INFO,stacktrace:INFO";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
settings = "*:DEBUG";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
settings = "*:TRACE";
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
settings = "*:TRACE";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
el::Loggers::setCategories(settings);
|
|
||||||
MINFO("Mew log categories: " << settings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void mlog_set_log(const char *log)
|
void mlog_set_log(const char *log)
|
||||||
|
@ -151,8 +156,15 @@ void mlog_set_log(const char *log)
|
||||||
level = strtoll(log, &ptr, 10);
|
level = strtoll(log, &ptr, 10);
|
||||||
if (ptr && *ptr)
|
if (ptr && *ptr)
|
||||||
{
|
{
|
||||||
|
// we can have a default level, eg, 2,foo:ERROR
|
||||||
|
if (*ptr == ',') {
|
||||||
|
std::string new_categories = std::string(get_default_categories(level)) + ptr;
|
||||||
|
mlog_set_categories(new_categories.c_str());
|
||||||
|
}
|
||||||
|
else {
|
||||||
mlog_set_categories(log);
|
mlog_set_categories(log);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if (level >= 0 && level <= 4)
|
else if (level >= 0 && level <= 4)
|
||||||
{
|
{
|
||||||
mlog_set_log_level(level);
|
mlog_set_log_level(level);
|
||||||
|
|
|
@ -46,6 +46,8 @@
|
||||||
#undef MONERO_DEFAULT_LOG_CATEGORY
|
#undef MONERO_DEFAULT_LOG_CATEGORY
|
||||||
#define MONERO_DEFAULT_LOG_CATEGORY "net.cn"
|
#define MONERO_DEFAULT_LOG_CATEGORY "net.cn"
|
||||||
|
|
||||||
|
#define MLOG_P2P_MESSAGE(x) MCINFO("net.p2p.msg", context << x)
|
||||||
|
|
||||||
namespace cryptonote
|
namespace cryptonote
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -314,7 +316,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_notify_new_block(int command, NOTIFY_NEW_BLOCK::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_notify_new_block(int command, NOTIFY_NEW_BLOCK::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_NEW_BLOCK (hop " << arg.hop << ")");
|
MLOG_P2P_MESSAGE("Received NOTIFY_NEW_BLOCK (hop " << arg.hop << ", " << arg.b.txs.size() << " txes)");
|
||||||
if(context.m_state != cryptonote_connection_context::state_normal)
|
if(context.m_state != cryptonote_connection_context::state_normal)
|
||||||
return 1;
|
return 1;
|
||||||
m_core.pause_mine();
|
m_core.pause_mine();
|
||||||
|
@ -365,7 +367,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_notify_new_fluffy_block(int command, NOTIFY_NEW_FLUFFY_BLOCK::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_notify_new_fluffy_block(int command, NOTIFY_NEW_FLUFFY_BLOCK::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_NEW_FLUFFY_BLOCK (hop " << arg.hop << ")");
|
MLOG_P2P_MESSAGE("Received NOTIFY_NEW_FLUFFY_BLOCK (hop " << arg.hop << ", " << arg.b.txs.size() << " txes)");
|
||||||
if(context.m_state != cryptonote_connection_context::state_normal)
|
if(context.m_state != cryptonote_connection_context::state_normal)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -613,7 +615,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_request_fluffy_missing_tx(int command, NOTIFY_REQUEST_FLUFFY_MISSING_TX::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_request_fluffy_missing_tx(int command, NOTIFY_REQUEST_FLUFFY_MISSING_TX::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_REQUEST_FLUFFY_MISSING_TX");
|
MLOG_P2P_MESSAGE("Received NOTIFY_REQUEST_FLUFFY_MISSING_TX (" << arg.missing_tx_indices.size() << " txes)");
|
||||||
|
|
||||||
std::list<block> local_blocks;
|
std::list<block> local_blocks;
|
||||||
std::list<transaction> local_txs;
|
std::list<transaction> local_txs;
|
||||||
|
@ -671,7 +673,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_notify_new_transactions(int command, NOTIFY_NEW_TRANSACTIONS::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_notify_new_transactions(int command, NOTIFY_NEW_TRANSACTIONS::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_NEW_TRANSACTIONS");
|
MLOG_P2P_MESSAGE("Received NOTIFY_NEW_TRANSACTIONS (" << arg.txs.size() << " txes)");
|
||||||
if(context.m_state != cryptonote_connection_context::state_normal)
|
if(context.m_state != cryptonote_connection_context::state_normal)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -703,7 +705,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_request_get_objects(int command, NOTIFY_REQUEST_GET_OBJECTS::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_request_get_objects(int command, NOTIFY_REQUEST_GET_OBJECTS::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_REQUEST_GET_OBJECTS");
|
MLOG_P2P_MESSAGE("Received NOTIFY_REQUEST_GET_OBJECTS (" << arg.blocks.size() << " blocks, " << arg.txs.size() << " txes)");
|
||||||
NOTIFY_RESPONSE_GET_OBJECTS::request rsp;
|
NOTIFY_RESPONSE_GET_OBJECTS::request rsp;
|
||||||
if(!m_core.handle_get_objects(arg, rsp, context))
|
if(!m_core.handle_get_objects(arg, rsp, context))
|
||||||
{
|
{
|
||||||
|
@ -743,7 +745,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_response_get_objects(int command, NOTIFY_RESPONSE_GET_OBJECTS::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_response_get_objects(int command, NOTIFY_RESPONSE_GET_OBJECTS::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_RESPONSE_GET_OBJECTS");
|
MLOG_P2P_MESSAGE("Received NOTIFY_RESPONSE_GET_OBJECTS (" << arg.blocks.size() << " blocks, " << arg.txs.size() << " txes)");
|
||||||
|
|
||||||
// calculate size of request - mainly for logging/debug
|
// calculate size of request - mainly for logging/debug
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
@ -933,7 +935,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_request_chain(int command, NOTIFY_REQUEST_CHAIN::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_request_chain(int command, NOTIFY_REQUEST_CHAIN::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_REQUEST_CHAIN: m_block_ids.size()=" << arg.block_ids.size());
|
MLOG_P2P_MESSAGE("Received NOTIFY_REQUEST_CHAIN (" << arg.block_ids.size() << " blocks");
|
||||||
NOTIFY_RESPONSE_CHAIN_ENTRY::request r;
|
NOTIFY_RESPONSE_CHAIN_ENTRY::request r;
|
||||||
if(!m_core.find_blockchain_supplement(arg.block_ids, r))
|
if(!m_core.find_blockchain_supplement(arg.block_ids, r))
|
||||||
{
|
{
|
||||||
|
@ -1048,7 +1050,7 @@ namespace cryptonote
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
int t_cryptonote_protocol_handler<t_core>::handle_response_chain_entry(int command, NOTIFY_RESPONSE_CHAIN_ENTRY::request& arg, cryptonote_connection_context& context)
|
int t_cryptonote_protocol_handler<t_core>::handle_response_chain_entry(int command, NOTIFY_RESPONSE_CHAIN_ENTRY::request& arg, cryptonote_connection_context& context)
|
||||||
{
|
{
|
||||||
LOG_PRINT_CCONTEXT_L2("NOTIFY_RESPONSE_CHAIN_ENTRY: m_block_ids.size()=" << arg.m_block_ids.size()
|
MLOG_P2P_MESSAGE("Received NOTIFY_RESPONSE_CHAIN_ENTRY: m_block_ids.size()=" << arg.m_block_ids.size()
|
||||||
<< ", m_start_height=" << arg.start_height << ", m_total_height=" << arg.total_height);
|
<< ", m_start_height=" << arg.start_height << ", m_total_height=" << arg.total_height);
|
||||||
|
|
||||||
if(!arg.m_block_ids.size())
|
if(!arg.m_block_ids.size())
|
||||||
|
|
Loading…
Reference in a new issue