Had to fix log_with_context

This commit is contained in:
Tristan Ancelet
2026-08-25 12:54:42 -05:00
parent 484a1113e2
commit 7b0d516408
+14 -13
View File
@@ -32,33 +32,34 @@ module Logger
{% args = @def.args.reject{|a| exclude.includes?(a.name)} %} {% args = @def.args.reject{|a| exclude.includes?(a.name)} %}
{% unless args.empty? %} {% unless args.empty? %}
Log.with_context( {% for arg in args %} {{arg.name}}: {{arg.name}}, {% end %} ) do Log.with_context( {% for arg in args %} {{arg.name}}: {{arg.name}}, {% end %} ) do
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") } Log.{{level}} { generate_log_line {{message}} }
end end
{% else %} {% else %}
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") } Log.{{level}} { generate_log_line {{message}} }
{% end %} {% end %}
{% elsif @type %} {% elsif @type %}
{% if @type.class? && @type.class != Metaclass %} {% if @type.class? %}
{% if vars = @type.instance_vars.select(&.annotation(LogContext)) %} {% class_def = @type.methods.includes?(@def) %}
{% if (vars = @type.instance_vars.select(&.annotation(LogContext))) && class_def %}
Log.with_context( {% for var in vars %} {{var.name}}: @{{var.name}}, {% end %} ) do Log.with_context( {% for var in vars %} {{var.name}}: @{{var.name}}, {% end %} ) do
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") } Log.{{level}} { generate_log_line {{message}} }
end end
{% else %} {% else %}
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") } Log.{{level}} { generate_log_line {{message}} }
{% end %} {% end %}
{% elsif @type.module? %} {% elsif @type.module? %}
Log.{{level}} { [generate_log_line, {{message}}].join(" : ") } Log.{{level}} { generate_log_line {{message}} }
{% end %} {% end %}
{% else %} {% else %}
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") } Log.{{level}} { generate_log_line {{message}} }
{% end %} {% end %}
end end
macro generate_log_line macro generate_log_line(message)
{% verbatim do %} {% if @def %}
{% if @def %} [ "Method({{@def.name}})", {{message}}].join(" : ")
"Method({{@def.name}})" {% else %}
{% end %} {{message}}
{% end %} {% end %}
end end