-module(dagger@logger). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/dagger/logger.gleam"). -export([report/1]). -export_type([log_entry/0]). -type log_entry() :: {debug, binary()} | {'query', binary()} | {info, binary()}. -file("src/dagger/logger.gleam", 11). -spec report(log_entry()) -> nil. report(Entry) -> Log_level = begin _pipe = envoy_ffi:get(<<"DAGGER_LOG_LEVEL"/utf8>>), gleam@result:unwrap(_pipe, <<""/utf8>>) end, case Entry of {debug, Msg} -> case Log_level of <<"debug"/utf8>> -> gleam_stdlib:println(<<"[dagger:debug] "/utf8, Msg/binary>>); _ -> nil end; {'query', Sql} -> case Log_level of <<"debug"/utf8>> -> gleam_stdlib:println( <<<<"\nšŸš€ DAGGER QUERY:\n"/utf8, Sql/binary>>/binary, "\n---"/utf8>> ); <<"query"/utf8>> -> gleam_stdlib:println( <<<<"\nšŸš€ DAGGER QUERY:\n"/utf8, Sql/binary>>/binary, "\n---"/utf8>> ); _ -> nil end; {info, Msg@1} -> case Log_level of <<"silent"/utf8>> -> nil; _ -> gleam_stdlib:println( <<"[dagger:info] "/utf8, Msg@1/binary>> ) end end.