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
+13 -12
View File
@@ -32,33 +32,34 @@ module Logger
{% args = @def.args.reject{|a| exclude.includes?(a.name)} %}
{% unless args.empty? %}
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
{% else %}
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") }
Log.{{level}} { generate_log_line {{message}} }
{% end %}
{% elsif @type %}
{% if @type.class? && @type.class != Metaclass %}
{% if vars = @type.instance_vars.select(&.annotation(LogContext)) %}
{% if @type.class? %}
{% 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.{{level}} { [ generate_log_line, {{message}}].join(" : ") }
Log.{{level}} { generate_log_line {{message}} }
end
{% else %}
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") }
Log.{{level}} { generate_log_line {{message}} }
{% end %}
{% elsif @type.module? %}
Log.{{level}} { [generate_log_line, {{message}}].join(" : ") }
Log.{{level}} { generate_log_line {{message}} }
{% end %}
{% else %}
Log.{{level}} { [ generate_log_line, {{message}}].join(" : ") }
Log.{{level}} { generate_log_line {{message}} }
{% end %}
end
macro generate_log_line
{% verbatim do %}
macro generate_log_line(message)
{% if @def %}
"Method({{@def.name}})"
{% end %}
[ "Method({{@def.name}})", {{message}}].join(" : ")
{% else %}
{{message}}
{% end %}
end