Skip to content

Commit b332e81

Browse files
committed
ipc: separate log statements per level
Avoids ratelimiting unconditional log statements when debug logging is enabled. Introduces slight behaviour change by removing the category from unconditional logs, making them more uniform with the other unconditional logs in the codebase.
1 parent 938702e commit b332e81

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

src/ipc/capnp/protocol.cpp

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,6 @@ namespace ipc {
3131
namespace capnp {
3232
namespace {
3333

34-
BCLog::Level ConvertIPCLogLevel(mp::Log level)
35-
{
36-
switch (level) {
37-
case mp::Log::Trace: return BCLog::Level::Trace;
38-
case mp::Log::Debug: return BCLog::Level::Debug;
39-
case mp::Log::Info: return BCLog::Level::Info;
40-
case mp::Log::Warning: return BCLog::Level::Warning;
41-
case mp::Log::Error: return BCLog::Level::Error;
42-
case mp::Log::Raise: return BCLog::Level::Error;
43-
} // no default case, so the compiler can warn about missing cases
44-
45-
// Be conservative and assume that if MP ever adds a new log level, it
46-
// should only be shown at our most verbose level.
47-
return BCLog::Level::Trace;
48-
}
49-
5034
mp::Log GetRequestedIPCLogLevel()
5135
{
5236
if (LogAcceptCategory(BCLog::IPC, BCLog::Level::Trace)) return mp::Log::Trace;
@@ -58,8 +42,30 @@ mp::Log GetRequestedIPCLogLevel()
5842

5943
void IpcLogFn(mp::LogMessage message)
6044
{
61-
LogPrintLevel(BCLog::IPC, ConvertIPCLogLevel(message.level), "%s\n", message.message);
62-
if (message.level == mp::Log::Raise) throw Exception(message.message);
45+
switch (message.level) {
46+
case mp::Log::Trace:
47+
LogTrace(BCLog::IPC, "%s", message.message);
48+
return;
49+
case mp::Log::Debug:
50+
LogDebug(BCLog::IPC, "%s", message.message);
51+
return;
52+
case mp::Log::Info:
53+
LogInfo("%s", message.message);
54+
return;
55+
case mp::Log::Warning:
56+
LogWarning("%s", message.message);
57+
return;
58+
case mp::Log::Error:
59+
LogError("%s", message.message);
60+
return;
61+
case mp::Log::Raise:
62+
LogError("%s", message.message);
63+
throw Exception(message.message);
64+
} // no default case, so the compiler can warn about missing cases
65+
66+
// Be conservative and assume that if MP ever adds a new log level, it
67+
// should only be shown at our most verbose level.
68+
LogTrace(BCLog::IPC, "%s", message.message);
6369
}
6470

6571
class CapnpProtocol : public Protocol

0 commit comments

Comments
 (0)