Skip to content

Commit

Permalink
refactor: Remove outdated libevent logging code
Browse files Browse the repository at this point in the history
The removed code was intended to catch issues with event_enable_debug_logging which was not available prior to libevent 2.1.1. This is not necessary since the minimum libevent version was bumped to 2.1.8.
  • Loading branch information
fjahr committed Apr 2, 2022
1 parent 0598f36 commit e40779a
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 21 deletions.
11 changes: 3 additions & 8 deletions src/httpserver.cpp
Expand Up @@ -358,12 +358,8 @@ bool InitHTTPServer()

// Redirect libevent's logging to our own log
event_set_log_callback(&libevent_log_cb);
// Update libevent's log handling. Returns false if our version of
// libevent doesn't support debug logging, in which case we should
// clear the BCLog::LIBEVENT flag.
if (!UpdateHTTPServerLogging(LogInstance().WillLogCategory(BCLog::LIBEVENT))) {
LogInstance().DisableCategory(BCLog::LIBEVENT);
}
// Update libevent's log handling.
UpdateHTTPServerLogging(LogInstance().WillLogCategory(BCLog::LIBEVENT));

#ifdef WIN32
evthread_use_windows_threads();
Expand Down Expand Up @@ -402,13 +398,12 @@ bool InitHTTPServer()
return true;
}

bool UpdateHTTPServerLogging(bool enable) {
void UpdateHTTPServerLogging(bool enable) {
if (enable) {
event_enable_debug_logging(EVENT_DBG_ALL);
} else {
event_enable_debug_logging(EVENT_DBG_NONE);
}
return true;
}

static std::thread g_thread_http;
Expand Down
5 changes: 2 additions & 3 deletions src/httpserver.h
Expand Up @@ -31,9 +31,8 @@ void InterruptHTTPServer();
/** Stop HTTP server */
void StopHTTPServer();

/** Change logging level for libevent. Removes BCLog::LIBEVENT from log categories if
* libevent doesn't support debug logging.*/
bool UpdateHTTPServerLogging(bool enable);
/** Change logging level for libevent. */
void UpdateHTTPServerLogging(bool enable);

/** Handler for requests to a certain HTTP path */
typedef std::function<bool(HTTPRequest* req, const std::string &)> HTTPRequestHandler;
Expand Down
11 changes: 1 addition & 10 deletions src/rpc/misc.cpp
Expand Up @@ -646,17 +646,8 @@ static RPCHelpMan logging()
uint32_t changed_log_categories = original_log_categories ^ updated_log_categories;

// Update libevent logging if BCLog::LIBEVENT has changed.
// If the library version doesn't allow it, UpdateHTTPServerLogging() returns false,
// in which case we should clear the BCLog::LIBEVENT flag.
// Throw an error if the user has explicitly asked to change only the libevent
// flag and it failed.
if (changed_log_categories & BCLog::LIBEVENT) {
if (!UpdateHTTPServerLogging(LogInstance().WillLogCategory(BCLog::LIBEVENT))) {
LogInstance().DisableCategory(BCLog::LIBEVENT);
if (changed_log_categories == BCLog::LIBEVENT) {
throw JSONRPCError(RPC_INVALID_PARAMETER, "libevent logging cannot be updated when using libevent before v2.1.1.");
}
}
UpdateHTTPServerLogging(LogInstance().WillLogCategory(BCLog::LIBEVENT));
}

UniValue result(UniValue::VOBJ);
Expand Down

0 comments on commit e40779a

Please sign in to comment.