mirror of
https://github.com/Nanaloveyuki/BitLogger.git
synced 2026-05-30 23:52:27 +00:00
27 lines
973 B
MoonBit
27 lines
973 B
MoonBit
async fn main {
|
|
let config = @lib_async.parse_async_logger_build_config_text(
|
|
"{\"logger\":{\"min_level\":\"info\",\"target\":\"async.demo\",\"timestamp\":true,\"sink\":{\"kind\":\"text_console\",\"text_formatter\":{\"show_timestamp\":false,\"separator\":\" | \"}}},\"async_config\":{\"max_pending\":2,\"overflow\":\"DropOldest\"}}",
|
|
) catch {
|
|
err => {
|
|
ignore(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
let logger = @lib_async.build_async_logger(config)
|
|
.with_context_fields([@lib.field("service", "bitlogger")])
|
|
.with_filter(@lib.target_has_prefix("async"))
|
|
.with_patch(@lib.compose_patches([
|
|
@lib.prefix_message("[async] "),
|
|
@lib.redact_fields(["token"]),
|
|
]))
|
|
|
|
@async.with_task_group(group => {
|
|
group.spawn_bg(allow_failure=true, () => logger.run())
|
|
logger.info("one", fields=[@lib.field("token", "secret")])
|
|
logger.child("worker").info("two")
|
|
logger.with_target("skip.demo").info("three")
|
|
logger.shutdown()
|
|
})
|
|
}
|