def log(error, context, trace = nil)
            msg = String.new
            if error.respond_to?(:backtrace)
                msg << "unhandled exception: #{error.message} (#{context})"
                backtrace = error.backtrace
                msg << "\n#{backtrace.join("\n")}" if backtrace
                msg << "\n#{trace.join("\n")}" if trace
            else
                msg << "unhandled exception: #{args}"
            end
            @logger.error msg
        end
def log(error, context, trace = nil)
            msg = String.new
            if error.respond_to?(:backtrace)
                msg << "unhandled exception: #{error.message} (#{context})"
                backtrace = error.backtrace
                msg << "\n#{backtrace.join("\n")}" if backtrace
                msg << "\n#{trace.join("\n")}" if trace
            else
                msg << "unhandled exception: #{args}"
            end
            @logger.error msg
        end
This is an unhandled error on the Libuv Event loop