Cum să loghezi informații în operațiile dbt
In this tutorial, you'll learn about Cum să loghezi informații în operațiile dbt. We cover key concepts, practical examples, and best practices.
Funcția {{ log() }} în dbt Jinja îți permite să scrii mesaje în consolă în timpul compilării și execuției. Este esențială pentru depanarea macro-urilor și pentru audit.
Step-by-Step Fix
1. Folosește log() simplu
-- macros/debug_helpers.sql
{% macro debug_query(relation_name) %}
{% set query = "SELECT COUNT(*) FROM " ~ relation_name %}
{% do log("Executing query: " ~ query, info=True) %}
{% set result = run_query(query) %}
{% do log("Count: " ~ result.columns[0].values()[0], info=True) %}
{% endmacro %}
2. Loghează cu diferite niveluri
{% macro validate_schema(schema_name) %}
{% do log("Starting schema validation for " ~ schema_name, info=True) %}
{% if schema_name is none %}
{% do log("Schema name is none!", warn=True) %}
{% else %}
{% do log("Schema name is valid", info=True) %}
{% endif %}
{% endmacro %}
3. Rulează și vizualizează logurile
dbt run-operation debug_query --args "{relation_name: my_table}"
Output așteptat:
15:23:45 Executing query: SELECT COUNT(*) FROM my_table
15:23:46 Count: 12345
4. Filtrează logurile
dbt run-operation validate_schema --log-level warn
Common Mistakes
| Greșeală | Soluție |
|---|---|
Se folosește print() în loc de log() |
print() nu funcționează în contextul dbt — folosește {{ log() }} |
Se omite parametrul info=True |
Fără info=True, mesajul nu apare în logurile standard |
| Loguri prea verbose | Folosește nivelurile warn și error pentru mesaje importante |
Prevention Tips
- Adaugă loguri în macro-uri complexe pentru depanare
- Folosește
info=Truepentru mesaje informative șiwarn=Truepentru avertismente - Nu loga informații sensibile (parole, token-uri)
- Folosește
--log-levelpentru a controla volumul de loguri
DodaTech Tools
Doda Browser centralizează logurile dbt într-un panou unificat. DodaZIP arhivează logurile pentru analiză ulterioară. Durga Antivirus Pro detectează patternuri suspecte în loguri.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează nativ cu dbt pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro