mirror of
https://github.com/Nanaloveyuki/BitLogger.git
synced 2026-07-24 00:42:18 +00:00
46 lines
1.2 KiB
MoonBit
46 lines
1.2 KiB
MoonBit
fn main {
|
|
let config = @lib.with_queue(
|
|
@lib.text_console(
|
|
min_level=@lib.Level::Info,
|
|
target="demo.preset",
|
|
text_formatter=@lib.TextFormatterConfig::new(
|
|
show_timestamp=false,
|
|
separator=" | ",
|
|
),
|
|
),
|
|
max_pending=4,
|
|
overflow=@lib.QueueOverflowPolicy::DropOldest,
|
|
)
|
|
|
|
let logger = @lib.build_logger(config)
|
|
logger.info("preset logger ready", fields=[@lib.field("kind", "portable")])
|
|
logger.info("preset logger queued", fields=[@lib.field("step", "two")])
|
|
ignore(logger.flush())
|
|
|
|
if @lib.native_files_supported() {
|
|
let file_config = @lib.with_file_rotation(
|
|
@lib.file(
|
|
"preset-example.log",
|
|
min_level=@lib.Level::Info,
|
|
target="demo.preset.file",
|
|
auto_flush=true,
|
|
),
|
|
256,
|
|
max_backups=2,
|
|
) catch {
|
|
err => {
|
|
ignore(err)
|
|
println("invalid file preset config")
|
|
return
|
|
}
|
|
}
|
|
|
|
let file_logger = @lib.build_logger(file_config)
|
|
file_logger.info("file preset ready", fields=[@lib.field("kind", "native-only")])
|
|
ignore(file_logger.flush())
|
|
ignore(file_logger.file_close())
|
|
} else {
|
|
println("file presets are skipped on this backend because native file support is unavailable")
|
|
}
|
|
}
|