diff --git a/lib/msf/core/modules/loader/base.rb b/lib/msf/core/modules/loader/base.rb index 66196ec086f12..be290f6e914e8 100644 --- a/lib/msf/core/modules/loader/base.rb +++ b/lib/msf/core/modules/loader/base.rb @@ -414,17 +414,7 @@ def load_error(module_path, error) # backtraces should not appear. module_manager.module_load_error_by_path[module_path] = "#{error.class} #{error}" - log_lines = [] - log_lines << "#{module_path} failed to load due to the following error:" - log_lines << error.class.to_s - log_lines << error.to_s - if error.backtrace - log_lines << "Call stack:" - log_lines += error.backtrace - end - - log_message = log_lines.join(' ') - elog(log_message) + elog("#{module_path} failed to load", error: error) end # Records the load warning to {Msf::ModuleManager::Loading#module_load_warnings} and the log. diff --git a/lib/rex/logging/log_dispatcher.rb b/lib/rex/logging/log_dispatcher.rb index 2cd3345d81e9b..aceedf6588417 100644 --- a/lib/rex/logging/log_dispatcher.rb +++ b/lib/rex/logging/log_dispatcher.rb @@ -160,7 +160,11 @@ def elog(msg, src = 'core', log_level = 0, error: nil) else error_details = "#{error.class} #{error.message}" if get_log_level(src) >= BACKTRACE_LOG_LEVEL - error_details << "\nCall stack:\n#{error.backtrace.join("\n")}" + if error.backtrace + error_details << "\nCall stack:\n#{error.backtrace.join("\n")}" + else + error_details << "\nCall stack:\nNone" + end end if msg.is_a?(Exception)