Current section
Files
Jump to
Current section
Files
src/dagger/logger.gleam
import envoy
import gleam/io
import gleam/result
pub type LogEntry {
Debug(msg: String)
Query(sql: String)
Info(msg: String)
}
pub fn report(entry: LogEntry) -> Nil {
// Recuperiamo il livello, se non c'è usiamo una stringa vuota
let log_level = envoy.get("DAGGER_LOG_LEVEL") |> result.unwrap("")
case entry {
Debug(msg) ->
case log_level {
"debug" -> io.println("[dagger:debug] " <> msg)
_ -> Nil
}
Query(sql) ->
case log_level {
"debug" | "query" -> io.println("\n🚀 DAGGER QUERY:\n" <> sql <> "\n---")
_ -> Nil
}
Info(msg) ->
case log_level {
"silent" -> Nil
_ -> io.println("[dagger:info] " <> msg)
}
}
}