diff --git a/src/base/isc.cc b/src/base/isc.cc index 7dbce111..cb884731 100644 --- a/src/base/isc.cc +++ b/src/base/isc.cc @@ -53,7 +53,20 @@ service_base::run() mstime_t current_time = getmstime(); auto timeout = this->compute_timeout(current_time); - this->s_port.process_for(timeout); + try { + this->s_port.process_for(timeout); + } catch (const std::exception& e) { + log_error("%s: message failed with -- %s", + this->s_name.c_str(), + e.what()); + this->s_looping = false; + continue; + } catch (...) { + log_error("%s: message failed with non-standard exception", + this->s_name.c_str()); + this->s_looping = false; + continue; + } this->s_children.cleanup_children(); try { diff --git a/src/formats/java_log.json b/src/formats/java_log.json index d9c036a6..b5e89e2c 100644 --- a/src/formats/java_log.json +++ b/src/formats/java_log.json @@ -37,6 +37,9 @@ }, "vmw-sps": { "pattern": "^(?\\d{4}-\\d{2}-\\d{2}( |T)\\d{2}:\\d{2}:\\d{2}(,|\\.)\\d{3}(?:Z|[-+]\\d{2}:?\\d{2})?)\\s+\\[(?[^\\]]+)\\]\\s+(?ERROR|WARN|INFO|DEBUG|TRACE)\\s+opId=(?\\S*)\\s+(?\\S+)\\s+-\\s+(?.*)$" + }, + "level-thread-class": { + "pattern": "(?\\d{4}-\\d{2}-\\d{2}[ T]\\d{2}:\\d{2}:\\d{2}[,\\.]\\d{3}) (?\\w+)\\s+\\[(?[^\\]]+)\\] (?[^:]+): (?.*)" } }, "level-field": "level", @@ -160,6 +163,9 @@ }, { "line": "2023-07-19T03:05:51.879Z invocation-vmomi-executor-1 operationID=4e543097-1a DEBUG vim.vmomi.server.impl.InvocationTask Invoking com.vmware.vim.binding.vim.LicenseManager.getEvaluation" + }, + { + "line": "2024-04-23 09:17:27,871 INFO [main] server.Server: jetty-9.4.50.v20221201; built: 2022-12-01T22:07:03.915Z; git: da9a0b30691a45daf90a9f17b5defa2f1434f882; jvm 11.0.21+9-LTS" } ] } diff --git a/src/listview_curses.hh b/src/listview_curses.hh index b9713b0e..f720cd63 100644 --- a/src/listview_curses.hh +++ b/src/listview_curses.hh @@ -296,7 +296,7 @@ public: template auto map_top_row(F func) const -> - typename std::result_of::type + typename std::invoke_result::type { if (this->lv_top >= this->get_inner_height()) { return std::nullopt;