Packages

Gleam SDK for Dagger — type-safe pipelines via GraphQL codegen

Current section

Files

Jump to
dagger_gleam src dagger@logger.erl
Raw

src/dagger@logger.erl

-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.