Files
mars-elt/dbt/macros/logging/elog.sql
Grzegorz Michalski 2c225d68ac init
2026-03-02 09:47:35 +01:00

23 lines
839 B
SQL

{% macro elog(message, level, depth) %}
{% if execute %}
{% set valid_levels = ["INFO", "WARN", "ERR"] %}
{% if level not in valid_levels %}
{{ exceptions.raise_compiler_error("Invalid log level: " ~ level ~ ". Allowed values: " ~ valid_levels | join(", ")) }}
{% endif %}
{% if not depth is number or depth < 0 %}
{{ exception.raise_compiler_error("Depth must be a non-negatibe integer!") }}
{% endif %}
{% if level == "INFO" %}
{% set start_msg = "\033[0m [INFO]: " ~ "*" * depth * 2 %}
{% elif level == "WARN" %}
{% set start_msg = "\033[33m [WARN]: " ~ "*" * depth * 2 %}
{% elif level == "ERR" %}
{% set start_msg = "\033[31m [ERROR]: " ~ "*" * depth * 2 %}
{% endif %}
{{ log(start_msg | trim ~ " " ~ message, info=True)}}
{% endif %}
{% endmacro %}