A structured logger for MoonBit.
moon new log-demo
cd log-demo
moon add Nanaloveyuki/BitLogger@0.9.1import {
"Nanaloveyuki/BitLogger/src" @log,
}fn main {
let logger = @log.build_logger(
@log.console(min_level=@log.Level::Info, target="app"),
)
logger.info("server started", fields=[
@log.field("port", "8080"),
@log.field("environment", "development"),
])
}set -eo pipefail
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash -s -- "$(cat .moonbit-toolchain)"
export PATH="${MOON_HOME:-$HOME/.moon}/bin:$PATH"
moon version --all
moonc -v
moon update$env:MOONBIT_INSTALL_VERSION = (Get-Content .moonbit-toolchain -Raw).Trim()
irm https://cli.moonbitlang.com/install/powershell.ps1 | iexmoon fmt --check
moon info
for target in native wasm wasm-gc js; do
moon check --target "$target" --deny-warn
moon test --target "$target" --deny-warn
moon check src-async --target "$target" --deny-warn
moon test src-async --target "$target" --deny-warn
done
for example in basic console_basic config_build presets text_formatter style_tags file_rotation async_basic; do
moon run "examples/$example" --target native
done