Logging for MoonBit: plain text and JSONL appenders with timestamps, and size-triggered log rotation
Dependencies
moon add chensuiyi/logfly| Function | Description |
|---|---|
| plain(path, text) | Timestamp-prefixed text line |
| event(path, event, fields) | JSONL event line |
| maybe_rotate(path, max_bytes, copytruncate?) | Rotate past limit, returns rotated |
// Management event: omitted optional fields never appear on the wire
@logfly.event("/var/lib/app/events.jsonl", "spawn_failed", [
("app", @fndash.jstr("api")),
("pid", "42"),
])
// Crash record: plain text with automatic timestamp
@logfly.plain("/var/log/app/crash.log", "app=api reason=exit_1")
// Rotate past 10 MB
@logfly.maybe_rotate("/var/log/app/events.jsonl", 10485760)moon add chensuiyi/logfly| 函数 | 说明 |
|---|---|
| plain(path, text) | 时间戳前缀文本行 |
| event(path, event, fields) | JSONL 事件行 |
| maybe_rotate(path, max_bytes, copytruncate?) | 超限轮转,返回是否轮转 |
// 管理事件:省略的可选字段不会以 null 出现在线上
@logfly.event("/var/lib/app/events.jsonl", "spawn_failed", [
("app", @fndash.jstr("api")),
("pid", "42"),
])
// 崩溃记录:纯文本,自动时间戳
@logfly.plain("/var/log/app/crash.log", "app=api reason=exit_1")
// 超过 10 MB 轮转
@logfly.maybe_rotate("/var/log/app/events.jsonl", 10485760)Install
Download zipLogging for MoonBit: plain text and JSONL appenders with timestamps, and size-triggered log rotation
Dependencies