328 Commits

Author SHA1 Message Date
Nanaloveyuki f4b161448c 🔖 prepare 1.1.0(0.7.0) sync release notes 2026-07-07 20:05:15 +08:00
Nanaloveyuki cf80e583ac 📝 align sync API docs with owner packages 2026-07-07 20:05:10 +08:00
Nanaloveyuki 2bee0b1da8 split sync tests by behavior boundary 2026-07-07 20:04:58 +08:00
Nanaloveyuki 1b621497f9 ♻️ sync owner migration and facade thinning 2026-07-07 20:03:22 +08:00
Nanaloveyuki c90a408a9c 🐛 修复异常 Runtime Queue 2026-07-07 11:35:16 +08:00
Nanaloveyuki 6b181e7855 添加 Logger build测试 2026-07-07 11:33:49 +08:00
Nanaloveyuki 7946dcdaee 📝 补充runtime文档 2026-07-07 11:25:02 +08:00
Nanaloveyuki 3bac025acf 📝 Fix policy test and doc 2026-07-07 10:28:16 +08:00
Nanaloveyuki d3bff1305d 🔖 bump version to 0.6.1 2026-07-05 21:34:10 +08:00
Nanaloveyuki b90481186f 📝 Add 1.0.1(0.6.1) change notes for wide file rotation 2026-07-05 21:32:11 +08:00
Nanaloveyuki 6e3cc165b6 Add Int64 file rotation path and JSON roundtrip 2026-07-05 21:31:52 +08:00
Nanaloveyuki 8de5495f58 📝 添加Wiki并修改1.0.0文件名 2026-07-05 21:12:33 +08:00
Nanaloveyuki f44a4794ec 🩹 Fix the major version must be 0 2026-06-27 10:51:37 +08:00
Nanaloveyuki 0cbe25a551 🔊 Update 1.0.0 2026-06-27 10:45:36 +08:00
Nanaloveyuki 4cc43def73 ⬆️ Update Async and Mbt Version 2026-06-27 10:44:51 +08:00
Nanaloveyuki 812c4c21a8 💚 Fix CSS Style lost 2026-06-14 16:28:01 +08:00
Nanaloveyuki cdfe0117a0 👷 Update Doc CI for errors 2026-06-14 16:19:13 +08:00
Nanaloveyuki b43dbdecfb 📌 Update moonbit-syntax-highlighter 2026-06-14 15:59:06 +08:00
Nanaloveyuki 0cfb308fa2 Add package-lock 2026-06-14 15:43:01 +08:00
Nanaloveyuki a0e09fb30f Add VitePress docs site with MoonBit highlighting 2026-06-14 15:17:25 +08:00
Nanaloveyuki dfae044f75 🔨 wrap native file ffi symbols locally 2026-06-14 13:03:03 +08:00
Nanaloveyuki 5e80593ae0 clean native rotation test artifacts 2026-06-14 12:57:48 +08:00
Nanaloveyuki 31f06f5724 🐛 fix native file sink lifecycle behavior 2026-06-14 12:55:29 +08:00
Nanaloveyuki 159f534164 📝 clarify global warn default forwarding 2026-06-14 12:21:02 +08:00
Nanaloveyuki ea0d687da0 📝 clarify global error default forwarding 2026-06-14 12:19:49 +08:00
Nanaloveyuki ce87e32837 📝 clarify global info default forwarding 2026-06-14 12:15:42 +08:00
Nanaloveyuki 866e374ac8 📝 clarify global log default forwarding 2026-06-14 12:13:57 +08:00
Nanaloveyuki aaba931db6 📝 clarify sync log override semantics 2026-06-14 12:09:38 +08:00
Nanaloveyuki 04f7742238 📝 clarify default target snapshot semantics 2026-06-14 12:05:28 +08:00
Nanaloveyuki cf23bb6dbe 📝 clarify default level snapshot semantics 2026-06-14 12:03:45 +08:00
Nanaloveyuki bf27dacf23 📝 clarify default logger snapshot semantics 2026-06-14 12:01:54 +08:00
Nanaloveyuki 0a9bcd696b 📝 clarify sync level threshold derivation 2026-06-14 11:59:01 +08:00
Nanaloveyuki 8fb9beb008 📝 clarify sync timestamp derivation 2026-06-14 11:55:55 +08:00
Nanaloveyuki 5514009abe 📝 clarify sync patch wrapper contract 2026-06-14 11:54:18 +08:00
Nanaloveyuki c17883262a 📝 clarify sync filter wrapper contract 2026-06-14 11:52:32 +08:00
Nanaloveyuki 5476a64478 📝 clarify queued logger wrapper contract 2026-06-14 11:49:15 +08:00
Nanaloveyuki 685797783c 📝 clarify async filter derivation 2026-06-14 11:46:40 +08:00
Nanaloveyuki 11b49208b2 📝 clarify async patch derivation 2026-06-14 11:44:54 +08:00
Nanaloveyuki 18dc8d5860 📝 clarify async level threshold derivation 2026-06-14 11:42:58 +08:00
Nanaloveyuki 18f6bf9eb5 📝 clarify async timestamp derivation 2026-06-14 11:41:24 +08:00
Nanaloveyuki 958a7fd26f 📝 clarify async context field storage 2026-06-14 11:39:38 +08:00
Nanaloveyuki 1124868bd8 📝 clarify logger bind alias contract 2026-06-14 11:37:35 +08:00
Nanaloveyuki c800042e46 📝 clarify async logger child contract 2026-06-14 11:35:29 +08:00
Nanaloveyuki fe7665b9f6 📝 clarify logger child composition contract 2026-06-14 11:33:49 +08:00
Nanaloveyuki 93cadcc7f1 📝 clarify logger context field binding 2026-06-14 11:28:42 +08:00
Nanaloveyuki 480c5ad602 📝 clarify logger target replacement 2026-06-14 11:27:11 +08:00
Nanaloveyuki 5720ba6203 📝 clarify logger trace helper routing 2026-06-14 11:23:34 +08:00
Nanaloveyuki 9630c6cc3b 📝 clarify logger debug helper routing 2026-06-14 11:22:15 +08:00
Nanaloveyuki 6eec61eb2d 📝 clarify async warn helper routing 2026-06-14 11:20:35 +08:00
Nanaloveyuki 3a216a2ada 📝 clarify async error helper routing 2026-06-14 11:19:08 +08:00
Nanaloveyuki b0364fdd51 📝 clarify async info helper routing 2026-06-14 11:17:42 +08:00
Nanaloveyuki 0b2e35d138 📝 clarify logger error helper routing 2026-06-14 11:16:22 +08:00
Nanaloveyuki 6dc54379ea 📝 clarify logger warn helper routing 2026-06-14 11:14:44 +08:00
Nanaloveyuki 458e3a14b3 📝 clarify logger info helper routing 2026-06-14 11:13:07 +08:00
Nanaloveyuki e3c7e00b1e 📝 clarify sync facade unwrap aliasing 2026-06-14 11:11:34 +08:00
Nanaloveyuki 2fd1290179 📝 clarify sync facade projection aliasing 2026-06-14 11:10:04 +08:00
Nanaloveyuki f2b90b44e6 📝 clarify library logger error helper routing 2026-06-14 11:08:13 +08:00
Nanaloveyuki cf2c8cdca6 📝 clarify library logger warn helper routing 2026-06-14 11:06:57 +08:00
Nanaloveyuki 4e964245d5 📝 clarify library logger info helper routing 2026-06-14 11:05:36 +08:00
Nanaloveyuki cc3d1b1f1c 📝 clarify library async info helper routing 2026-06-14 11:04:04 +08:00
Nanaloveyuki e5140181ba 📝 clarify library async warn helper routing 2026-06-14 11:02:51 +08:00
Nanaloveyuki 2bb9b20aa4 📝 clarify library async error helper routing 2026-06-14 11:01:44 +08:00
Nanaloveyuki 32cbc2e079 📝 clarify library async unwrap aliasing 2026-06-14 10:59:58 +08:00
Nanaloveyuki 62117a4a69 📝 clarify async facade projection aliasing 2026-06-14 10:57:48 +08:00
Nanaloveyuki bba206be78 📝 clarify library async target replacement 2026-06-14 10:55:39 +08:00
Nanaloveyuki 22f5204262 📝 clarify library async child facade preservation 2026-06-14 10:53:59 +08:00
Nanaloveyuki 5bb5a75ea7 📝 clarify library async context replacement 2026-06-14 10:50:22 +08:00
Nanaloveyuki 6d1261f02b 📝 clarify async context field replacement 2026-06-14 10:48:37 +08:00
Nanaloveyuki 33fc929dc6 📝 clarify async runtime sink variant selection 2026-06-14 10:46:54 +08:00
Nanaloveyuki c990a890f9 📝 clarify parsed library async sink selection 2026-06-14 10:45:21 +08:00
Nanaloveyuki 676317aae7 📝 clarify parsed application async sink selection 2026-06-14 10:44:00 +08:00
Nanaloveyuki 7f57521e05 📝 clarify application async runtime sink semantics 2026-06-14 10:42:36 +08:00
Nanaloveyuki 9b3533de7b 📝 clarify library async runtime sink semantics 2026-06-14 10:41:01 +08:00
Nanaloveyuki e01f7e977e 📝 clarify library async text sink semantics 2026-06-14 10:39:00 +08:00
Nanaloveyuki 1a2aee4a7c 📝 clarify application text async sink selection 2026-06-14 10:36:40 +08:00
Nanaloveyuki 571ae622d0 📝 clarify async build config stringify routing 2026-06-14 10:33:10 +08:00
Nanaloveyuki 475b15c41f 📝 clarify async build config export routing 2026-06-14 10:31:50 +08:00
Nanaloveyuki 0eeb3f9811 📝 clarify async build config parse routing 2026-06-14 10:30:01 +08:00
Nanaloveyuki 0b8fbe53dd 📝 clarify async build config facade routing 2026-06-14 10:27:22 +08:00
Nanaloveyuki 8dab08b85d 📝 clarify async state alias provenance 2026-06-14 10:22:10 +08:00
Nanaloveyuki 5edd853fc5 📝 clarify async runtime state alias provenance 2026-06-14 10:20:05 +08:00
Nanaloveyuki 5957e37720 📝 clarify async runtime mode probe 2026-06-14 10:18:46 +08:00
Nanaloveyuki 8cf4eba223 📝 clarify async worker capability probe 2026-06-14 10:17:05 +08:00
Nanaloveyuki 754a878cd8 📝 clarify async runtime mode label mapping 2026-06-14 10:15:47 +08:00
Nanaloveyuki 1073559f6a 📝 clarify async runtime constructor inputs 2026-06-14 10:14:31 +08:00
Nanaloveyuki 20e08efb78 📝 clarify async runtime state snapshot source 2026-06-14 10:13:09 +08:00
Nanaloveyuki 64dfc36931 📝 clarify async runtime json snapshot semantics 2026-06-14 10:11:41 +08:00
Nanaloveyuki d46e90fcf5 📝 clarify async state constructor runtime input 2026-06-14 10:10:15 +08:00
Nanaloveyuki 891aa83e01 📝 clarify async state runtime snapshot source 2026-06-14 10:08:57 +08:00
Nanaloveyuki 97f6ae969d 📝 clarify async state json snapshot semantics 2026-06-14 10:07:33 +08:00
Nanaloveyuki 93fc54226d 📝 clarify library async unwrap live state 2026-06-14 10:04:20 +08:00
Nanaloveyuki 4421eb985d 📝 clarify library async shutdown no-worker path 2026-06-14 10:02:48 +08:00
Nanaloveyuki 96c4cc1f88 📝 clarify async shutdown failure retention 2026-06-14 10:01:35 +08:00
Nanaloveyuki 415fc8d98e 📝 clarify async wait_idle failure retention 2026-06-14 10:00:11 +08:00
Nanaloveyuki d89a629f14 📝 clarify async closed state retention 2026-06-14 09:58:55 +08:00
Nanaloveyuki 83c31f31b2 📝 clarify async run restart backlog semantics 2026-06-14 09:57:31 +08:00
Nanaloveyuki 93afc5fe45 📝 clarify library async facade state preservation 2026-06-14 09:56:11 +08:00
Nanaloveyuki a7e9731571 📝 clarify async late log close semantics 2026-06-14 09:54:46 +08:00
Nanaloveyuki 83e1accc8e 📝 clarify async dropped count after failed shutdown 2026-06-14 09:50:25 +08:00
Nanaloveyuki 888581e44a 📝 clarify async pending backlog after failed shutdown 2026-06-14 09:48:17 +08:00
Nanaloveyuki 2ecf88d866 📝 clarify async last error retention after shutdown 2026-06-14 09:46:20 +08:00
Nanaloveyuki 19befe9418 📝 clarify async failure retention after shutdown 2026-06-14 09:42:45 +08:00
Nanaloveyuki dcbc2422c6 📝 clarify async running restart semantics 2026-06-14 09:41:17 +08:00
Nanaloveyuki 5bb34b4e66 📝 clarify async state failure shutdown snapshots 2026-06-14 09:39:34 +08:00
Nanaloveyuki 3fcdf8f64a 📝 clarify async projection preserved failure state 2026-06-14 09:38:00 +08:00
Nanaloveyuki 674e949f96 📝 clarify library async unwrap preserved failure state 2026-06-14 09:36:37 +08:00
Nanaloveyuki bbc9afbc47 📝 clarify library async shutdown failure retention 2026-06-14 09:35:09 +08:00
Nanaloveyuki e386ef8b28 📝 clarify library async run restart semantics 2026-06-14 09:33:24 +08:00
Nanaloveyuki af9e4e853a 📝 clarify async close post-shutdown log split 2026-06-14 09:31:19 +08:00
Nanaloveyuki eb3ec42a59 📝 clarify async flush policy callback semantics 2026-06-14 09:29:16 +08:00
Nanaloveyuki 54fdff3317 📝 clarify async dropped count shutdown split 2026-06-14 09:27:42 +08:00
Nanaloveyuki ded41de176 📝 clarify async logger restart failure semantics 2026-06-14 09:25:56 +08:00
Nanaloveyuki c12af269dc 📝 clarify configured logger composition surface 2026-06-14 09:19:51 +08:00
Nanaloveyuki 03079797f2 📝 clarify async projection runtime helper state 2026-06-14 09:17:38 +08:00
Nanaloveyuki f6fc9c4201 📝 clarify sync projection runtime helper state 2026-06-14 09:15:04 +08:00
Nanaloveyuki d94b415cb0 📝 clarify async runtime builder flush behavior 2026-06-14 09:10:25 +08:00
Nanaloveyuki 4dd1e5a33d 📝 clarify async build config sink-kind semantics 2026-06-14 09:04:38 +08:00
Nanaloveyuki 54e695942f 📝 clarify async build export sink-kind semantics 2026-06-14 09:03:07 +08:00
Nanaloveyuki 4889f2b4b8 📝 clarify text async facade sink-kind behavior 2026-06-14 09:00:52 +08:00
Nanaloveyuki 58d1e622a0 📝 clarify async text builder sink-kind behavior 2026-06-14 08:58:57 +08:00
Nanaloveyuki af1fc95a3c 📝 clarify application helper visibility 2026-06-14 08:52:54 +08:00
Nanaloveyuki 20919618ce 📝 clarify library helper visibility 2026-06-14 08:50:34 +08:00
Nanaloveyuki 35e87f1761 📝 clarify application runtime helper access 2026-06-14 08:48:22 +08:00
Nanaloveyuki 4b043bc52e 📝 clarify application context shape 2026-06-14 08:46:07 +08:00
Nanaloveyuki 296901d2ba 📝 clarify root context shape contrast 2026-06-14 08:43:18 +08:00
Nanaloveyuki c78669393c 📝 clarify async facade context shape 2026-06-14 08:41:06 +08:00
Nanaloveyuki 9162b37acd 📝 clarify root logger target behavior 2026-06-14 08:38:38 +08:00
Nanaloveyuki d777496d51 📝 clarify sync alias target behavior 2026-06-14 08:35:46 +08:00
Nanaloveyuki 44903d113d 📝 clarify async alias target behavior 2026-06-14 08:32:58 +08:00
Nanaloveyuki feb786298f 📝 clarify built async text target behavior 2026-06-14 08:29:26 +08:00
Nanaloveyuki f91bcc827e cover built async text target behavior 2026-06-14 08:28:09 +08:00
Nanaloveyuki da1e9c0359 📝 clarify built async target behavior 2026-06-14 08:22:02 +08:00
Nanaloveyuki acb4a13f14 cover built async target behavior 2026-06-14 08:20:12 +08:00
Nanaloveyuki b320b4f1fc 📝 clarify built sync target behavior 2026-06-14 08:16:52 +08:00
Nanaloveyuki 8715949242 cover built sync target behavior 2026-06-14 08:15:00 +08:00
Nanaloveyuki 70c2bad4b1 📝 clarify parsed configured target behavior 2026-06-14 08:11:41 +08:00
Nanaloveyuki 83b0a2ac3c cover parsed configured target behavior 2026-06-14 08:10:27 +08:00
Nanaloveyuki 5ded4439b0 📝 clarify parsed sync target behavior 2026-06-14 08:08:00 +08:00
Nanaloveyuki 556ee967b8 cover parsed sync target behavior 2026-06-14 08:06:35 +08:00
Nanaloveyuki 72e29f5b69 📝 clarify parsed async target behavior 2026-06-14 08:03:26 +08:00
Nanaloveyuki 57b1dfb127 cover parsed lib async target behavior 2026-06-14 08:01:39 +08:00
Nanaloveyuki 4521961227 cover parsed app async target behavior 2026-06-14 07:58:20 +08:00
Nanaloveyuki a164678654 cover application async target behavior 2026-06-14 07:53:31 +08:00
Nanaloveyuki 50afeacff6 📝 align English README target status 2026-06-14 07:48:40 +08:00
Nanaloveyuki 98e514821f 📝 clarify application async alias behavior 2026-06-14 07:46:24 +08:00
Nanaloveyuki 97feb57cd7 📝 clarify configured logger alias behavior 2026-06-14 07:44:01 +08:00
Nanaloveyuki 9c1787e700 📝 clarify application logger alias behavior 2026-06-14 07:41:51 +08:00
Nanaloveyuki 7ba66e82ae cover sync target override behavior 2026-06-14 07:39:23 +08:00
Nanaloveyuki c316c65027 cover async target override behavior 2026-06-14 07:36:03 +08:00
Nanaloveyuki 4b68ae27f1 📝 clarify async target override docs 2026-06-14 07:34:31 +08:00
Nanaloveyuki 38a5b056b8 📝 clarify async helper combinator docs 2026-06-14 07:25:15 +08:00
Nanaloveyuki f636c2df60 📝 clarify async reshaping helper docs 2026-06-14 07:24:00 +08:00
Nanaloveyuki a66a876659 cover async logger reshaping helpers 2026-06-14 07:22:23 +08:00
Nanaloveyuki f8192ab677 cover async helper combinators 2026-06-14 07:19:59 +08:00
Nanaloveyuki 82200c61fb 📝 align async alias docs 2026-06-14 07:15:46 +08:00
Nanaloveyuki 43e343158e 📝 clarify root async builder docs 2026-06-14 07:14:25 +08:00
Nanaloveyuki 3a2817969a 📝 clarify async text builder docs 2026-06-14 07:12:53 +08:00
Nanaloveyuki 1b508dfc11 📝 clarify async builder equivalence docs 2026-06-14 07:11:32 +08:00
Nanaloveyuki 959e553648 📝 clarify async facade projection docs 2026-06-14 07:09:31 +08:00
Nanaloveyuki 1f3da3e6ba 📝 align async state serializer docs 2026-06-14 07:06:16 +08:00
Nanaloveyuki a2b37dfe53 📝 clarify async state snapshot docs 2026-06-14 07:04:55 +08:00
Nanaloveyuki 6c5f4aaa0e 📝 clarify async failure backlog docs 2026-06-14 07:01:04 +08:00
Nanaloveyuki 3ba590a4b0 📝 clarify async shutdown split docs 2026-06-14 06:58:56 +08:00
Nanaloveyuki 302e11218c 📝 sharpen closed async log docs 2026-06-14 06:57:12 +08:00
Nanaloveyuki b2a1f407ec cover async closed log runtime split 2026-06-14 06:55:48 +08:00
Nanaloveyuki 24c20c16be 📝 narrow async facade semantics docs 2026-06-14 06:53:17 +08:00
Nanaloveyuki 254a9e8086 cover async text shutdown flush path 2026-06-14 06:51:27 +08:00
Nanaloveyuki 0d2bfd7b6d cover async text batch flush path 2026-06-14 06:49:05 +08:00
Nanaloveyuki b570722434 📝 clarify text async flush docs 2026-06-14 06:44:51 +08:00
Nanaloveyuki 58e219a512 cover parsed lib clear shutdown 2026-06-14 06:40:06 +08:00
Nanaloveyuki 88ee050529 cover parsed app clear shutdown 2026-06-14 06:38:18 +08:00
Nanaloveyuki 6962c7f267 cover lib async clear shutdown 2026-06-14 06:35:14 +08:00
Nanaloveyuki e91aba10fc cover app async clear shutdown 2026-06-14 06:33:29 +08:00
Nanaloveyuki 74f65b9585 cover lib text clear shutdown 2026-06-14 06:31:07 +08:00
Nanaloveyuki 5f722b0073 cover app text clear shutdown 2026-06-14 06:28:54 +08:00
Nanaloveyuki fd9127c524 cover app text async composition 2026-06-14 06:24:17 +08:00
Nanaloveyuki 057eb7c1fc cover parsed app async composition 2026-06-14 06:20:56 +08:00
Nanaloveyuki 24897a45c9 cover app text alias sink-kind path 2026-06-14 06:17:00 +08:00
Nanaloveyuki 9370c83ffc cover async facade clear shutdown 2026-06-14 06:13:06 +08:00
Nanaloveyuki 3a2d1d74c3 cover async text facade sink-kind path 2026-06-14 06:08:58 +08:00
Nanaloveyuki ef4ffe4c5b cover async projection file parity 2026-06-14 06:05:34 +08:00
Nanaloveyuki f69307ba61 cover async library file parity 2026-06-14 05:57:05 +08:00
Nanaloveyuki 2582876a08 cover async application file parity 2026-06-14 05:52:23 +08:00
Nanaloveyuki bf60ed95c3 cover projected file helper parity 2026-06-14 05:48:20 +08:00
Nanaloveyuki 39baad5e93 cover library file control parity 2026-06-14 05:45:54 +08:00
Nanaloveyuki 383d2e8dff cover library file helper parity 2026-06-14 05:43:33 +08:00
Nanaloveyuki b57013202e cover parse-build invalid json parity 2026-06-14 05:40:51 +08:00
Nanaloveyuki 13e8a8f484 cover application file control parity 2026-06-14 05:38:44 +08:00
Nanaloveyuki 3cd361dc4d cover application file helper parity 2026-06-14 05:36:19 +08:00
Nanaloveyuki c262aefc28 cover configured file state parity 2026-06-14 05:33:39 +08:00
Nanaloveyuki a195c93457 cover configured file reset parity 2026-06-14 05:28:52 +08:00
Nanaloveyuki efacaa6398 cover configured reopen parity 2026-06-14 05:27:09 +08:00
Nanaloveyuki af54743536 cover configured file setter parity 2026-06-14 05:25:32 +08:00
Nanaloveyuki 8d28c37e38 cover configured file policy parity 2026-06-14 05:23:56 +08:00
Nanaloveyuki c2fa1eea35 cover configured file close parity 2026-06-14 05:21:19 +08:00
Nanaloveyuki d2612e5a67 cover configured file helper parity 2026-06-14 05:19:55 +08:00
Nanaloveyuki 49eaa67d57 cover configured close delegation 2026-06-14 05:17:55 +08:00
Nanaloveyuki 6d98301daa cover configured helper delegation 2026-06-14 05:16:34 +08:00
Nanaloveyuki 5f46c04eea cover async text application parity 2026-06-14 05:14:11 +08:00
Nanaloveyuki b36ce021dc cover async text library parity 2026-06-14 05:12:19 +08:00
Nanaloveyuki ead2339ffd cover async library parse-build parity 2026-06-14 05:10:13 +08:00
Nanaloveyuki cca3bc4500 cover async library builder parity 2026-06-14 05:08:23 +08:00
Nanaloveyuki 9d55440df4 cover sync library parse-build parity 2026-06-14 05:06:08 +08:00
Nanaloveyuki 4077f3e538 cover sync library builder parity 2026-06-14 05:04:38 +08:00
Nanaloveyuki 658196cf69 cover sync parse-build parity 2026-06-14 05:03:02 +08:00
Nanaloveyuki afe5c75537 cover async parse-build parity 2026-06-14 05:01:42 +08:00
Nanaloveyuki 2c552adfae cover async application builder parity 2026-06-14 04:59:41 +08:00
Nanaloveyuki 1f61e4f66a cover sync application builder parity 2026-06-14 04:57:42 +08:00
Nanaloveyuki b68ca9eef5 cover sync config export defaults 2026-06-14 04:51:52 +08:00
Nanaloveyuki 9da5b9d659 cover async build-config export defaults 2026-06-14 04:50:09 +08:00
Nanaloveyuki e97407c22c cover sync nested parser defaults 2026-06-14 04:47:21 +08:00
Nanaloveyuki 41fbfa5ac1 cover sync parser defaults 2026-06-14 04:45:43 +08:00
Nanaloveyuki 5c4e8ba889 cover async text builder sink contract 2026-06-14 04:44:18 +08:00
Nanaloveyuki c96a592ef6 cover async build-config defaults 2026-06-14 04:39:40 +08:00
Nanaloveyuki eb4abeb81b cover async parser aliases 2026-06-14 04:34:18 +08:00
Nanaloveyuki e2609a99b6 cover async config normalization 2026-06-14 04:28:29 +08:00
Nanaloveyuki 2709a482ec cover async parse-build failures 2026-06-14 04:21:15 +08:00
Nanaloveyuki 999dd5a297 cover sync parse-build config errors 2026-06-14 04:16:42 +08:00
Nanaloveyuki bd75deb879 cover runtime file json helpers 2026-06-14 04:11:57 +08:00
Nanaloveyuki db5d95576d cover config json helper exports 2026-06-14 04:08:18 +08:00
Nanaloveyuki f4af7bc04c cover async json helper exports 2026-06-14 04:06:23 +08:00
Nanaloveyuki 8ce3b8fefd cover direct async text builder surface 2026-06-14 03:59:06 +08:00
Nanaloveyuki da8e7483ed cover direct async builder surface 2026-06-14 03:55:41 +08:00
Nanaloveyuki e617f5bf6a 🔖 bump version to 0.5.3 2026-06-14 03:53:17 +08:00
Nanaloveyuki 9042562c54 🔖 prepare 0.5.3 release notes 2026-06-14 03:50:23 +08:00
Nanaloveyuki 4c5b6cc2cf cover library async text helpers 2026-06-14 03:44:21 +08:00
Nanaloveyuki 1bb3e41a97 cover parsed library async helpers 2026-06-14 03:42:28 +08:00
Nanaloveyuki 03e467d5f4 cover parsed application async helpers 2026-06-14 03:40:31 +08:00
Nanaloveyuki 8c129e1c42 cover parsed library logger unwrap 2026-06-14 03:35:52 +08:00
Nanaloveyuki a7e955e636 cover parsed application logger helpers 2026-06-14 03:34:09 +08:00
Nanaloveyuki 2eebef07db cover parsed configured logger surface 2026-06-14 03:32:39 +08:00
Nanaloveyuki 594be4aca5 cover configured logger composition 2026-06-14 03:30:18 +08:00
Nanaloveyuki 9157346bf8 cover application alias composition 2026-06-14 03:26:36 +08:00
Nanaloveyuki 7474c07cbd cover application text async alias 2026-06-14 03:23:03 +08:00
Nanaloveyuki 11db21a500 cover application alias helper surface 2026-06-14 03:21:09 +08:00
Nanaloveyuki 17dbdfffde cover library async constructor contract 2026-06-14 03:18:06 +08:00
Nanaloveyuki a41515b8eb cover library async write facade 2026-06-14 03:15:44 +08:00
Nanaloveyuki 2f600c71c5 cover library async target facade 2026-06-14 03:13:45 +08:00
Nanaloveyuki e6dc5f52c0 cover library async context facade 2026-06-14 03:11:34 +08:00
Nanaloveyuki 7a0c741857 cover default library logger snapshot 2026-06-14 03:07:46 +08:00
Nanaloveyuki e3b9cbb6e9 cover library logger write facade 2026-06-14 03:06:14 +08:00
Nanaloveyuki 264ee05222 cover library logger target facade 2026-06-14 03:04:23 +08:00
Nanaloveyuki 9ef2f984ca cover library logger context facade 2026-06-14 03:02:47 +08:00
Nanaloveyuki 6a13f70242 📝 clarify library logger runtime unwrap 2026-06-14 02:58:58 +08:00
Nanaloveyuki c767ebe512 📝 refresh wasm-gc sync verification note 2026-06-14 02:54:20 +08:00
Nanaloveyuki 402cb7e423 📝 refresh wasm sync verification note 2026-06-14 02:52:38 +08:00
Nanaloveyuki 24fbc189ae 📝 refresh js sync verification note 2026-06-14 02:51:19 +08:00
Nanaloveyuki 935f320743 📝 refresh wasm async verification note 2026-06-14 02:49:52 +08:00
Nanaloveyuki d288216bcb 📝 refresh async target verification note 2026-06-14 02:48:30 +08:00
Nanaloveyuki c3b54e3ae0 align async facade test across targets 2026-06-14 02:47:06 +08:00
Nanaloveyuki 413610d5f2 cover async facade state projection 2026-06-14 02:45:15 +08:00
Nanaloveyuki 33f71af500 📝 clarify queued file failure docs 2026-06-14 02:42:37 +08:00
Nanaloveyuki f7863083d4 cover runtime file reopen helpers 2026-06-14 02:40:35 +08:00
Nanaloveyuki fcac1d7993 cover runtime file helper contracts 2026-06-14 02:37:56 +08:00
Nanaloveyuki 0bdbe942dd cover runtime sink helper contracts 2026-06-14 02:35:27 +08:00
Nanaloveyuki 1645bcb66c cover parsed async queue wrappers 2026-06-14 02:30:41 +08:00
Nanaloveyuki 112edbf8ae cover direct text async builder queue path 2026-06-14 02:28:46 +08:00
Nanaloveyuki 8084d0a0cc cover library text async builder path 2026-06-14 02:27:05 +08:00
Nanaloveyuki d23e326315 cover application text async builder path 2026-06-14 02:25:11 +08:00
Nanaloveyuki e38b0b4150 cover application async builder queue path 2026-06-14 02:22:49 +08:00
Nanaloveyuki ce89aaf96d cover library async failure flow 2026-06-14 02:19:40 +08:00
Nanaloveyuki c53aa38b89 cover async shutdown failure path 2026-06-14 02:17:23 +08:00
Nanaloveyuki 3e0c8a5f99 cover async retry reset behavior 2026-06-14 02:14:49 +08:00
Nanaloveyuki f1250512eb 📝 clarify async status helper docs 2026-06-14 02:11:26 +08:00
Nanaloveyuki 26de2e81d6 📝 refine async state snapshot docs 2026-06-14 02:09:29 +08:00
Nanaloveyuki 9af489336d 🐛 fix closed async backlog accounting 2026-06-14 02:06:59 +08:00
Nanaloveyuki d9b609d064 📝 clarify async lifecycle docs 2026-06-14 02:03:34 +08:00
Nanaloveyuki 91b0900b11 📝 refine async snapshot docs 2026-06-14 01:59:27 +08:00
Nanaloveyuki e13ea2209a 📝 clarify async config type docs 2026-06-14 01:58:06 +08:00
Nanaloveyuki 034bd8fc99 📝 clarify async policy docs 2026-06-14 01:56:44 +08:00
Nanaloveyuki c911ad8345 📝 refine async runtime helper docs 2026-06-14 01:55:23 +08:00
Nanaloveyuki e776455861 📝 refine async state type docs 2026-06-14 01:53:12 +08:00
Nanaloveyuki f824cbfa68 📝 clarify async state export docs 2026-06-14 01:50:30 +08:00
Nanaloveyuki abed0f00b8 📝 refine async config parser docs 2026-06-14 01:48:35 +08:00
Nanaloveyuki 75f1b457fa 📝 clarify async config export docs 2026-06-14 01:47:02 +08:00
Nanaloveyuki e53555edb2 📝 clarify formatter export docs 2026-06-14 01:45:18 +08:00
Nanaloveyuki 323d58059b 📝 refine formatter config docs 2026-06-14 01:43:27 +08:00
Nanaloveyuki 8e409bbdf9 📝 refine config stringify docs 2026-06-14 01:42:16 +08:00
Nanaloveyuki b3fb59e6b5 📝 clarify config export docs 2026-06-14 01:41:02 +08:00
Nanaloveyuki a6e9dd993f 📝 refine config helper docs 2026-06-14 01:39:40 +08:00
Nanaloveyuki 324ff47b10 📝 clarify config model docs 2026-06-14 01:38:16 +08:00
Nanaloveyuki 8bf6ec8f52 📝 refine config entry docs 2026-06-14 01:36:33 +08:00
Nanaloveyuki bf545b0e0c 📝 clarify default logger docs 2026-06-14 01:35:25 +08:00
Nanaloveyuki d4db20fffc 📝 clarify library builder docs 2026-06-14 01:34:08 +08:00
Nanaloveyuki 861adb7b5d 📝 refine sync parse builder docs 2026-06-14 01:33:06 +08:00
Nanaloveyuki 1a33f5c95d 📝 refine async parse builder docs 2026-06-14 01:31:32 +08:00
Nanaloveyuki f50964f5a9 📝 clarify async text builder docs 2026-06-14 01:30:22 +08:00
Nanaloveyuki ba72a021a8 📝 align async logger root docs 2026-06-14 01:28:23 +08:00
Nanaloveyuki 5f0c7be4e4 📝 clarify app text async docs 2026-06-14 01:24:48 +08:00
Nanaloveyuki 4d2e3def14 📝 align facade overview docs 2026-06-14 01:23:15 +08:00
Nanaloveyuki 2a9dbdcc01 📝 clarify app logger facade docs 2026-06-14 01:21:42 +08:00
Nanaloveyuki 47de8dc99a 📝 refine library logger entry docs 2026-06-14 01:20:04 +08:00
Nanaloveyuki 888be5b6fc 📝 refine library logger write docs 2026-06-14 01:18:33 +08:00
Nanaloveyuki 15a9175cf4 📝 refine library logger wrapper methods 2026-06-14 01:16:36 +08:00
Nanaloveyuki 3a68be920e 📝 clarify library logger wrapper docs 2026-06-14 01:14:45 +08:00
Nanaloveyuki 699dd5ff96 📝 refine library async lifecycle docs 2026-06-14 01:11:52 +08:00
Nanaloveyuki f8ca093e95 📝 refine library async write docs 2026-06-14 01:10:10 +08:00
Nanaloveyuki be8b4f8626 📝 refine library async wrapper methods 2026-06-14 01:08:21 +08:00
Nanaloveyuki 3d88ac87a1 📝 clarify library async wrapper docs 2026-06-14 01:06:15 +08:00
Nanaloveyuki 79529d748f 📝 clarify app async build docs 2026-06-14 01:04:11 +08:00
Nanaloveyuki ab7cd62851 📝 refine library async build docs 2026-06-14 01:02:23 +08:00
Nanaloveyuki e172e141e9 📝 align async facade builders 2026-06-14 00:57:38 +08:00
Nanaloveyuki d92155a727 📝 align async text facade docs 2026-06-14 00:56:01 +08:00
Nanaloveyuki 78007a5b22 📝 align async facade docs 2026-06-14 00:54:13 +08:00
Nanaloveyuki e28dba0800 📝 clarify async logger root docs 2026-06-14 00:52:34 +08:00
Nanaloveyuki 747f8e3d1b 📝 refine async run docs 2026-06-14 00:50:55 +08:00
Nanaloveyuki 5917256fda 📝 refine async shutdown docs 2026-06-14 00:48:44 +08:00
Nanaloveyuki b937807136 📝 clarify async backlog docs 2026-06-14 00:47:07 +08:00
Nanaloveyuki 5ce4c29760 📝 refine async failure helper docs 2026-06-14 00:45:31 +08:00
Nanaloveyuki 911dcd840c 📝 align async logger state docs 2026-06-14 00:43:50 +08:00
Nanaloveyuki 4431e01dcb 📝 align async runtime serialization docs 2026-06-14 00:41:09 +08:00
Nanaloveyuki d950f11b40 📝 clarify async runtime snapshots 2026-06-14 00:38:07 +08:00
Nanaloveyuki 2845076b27 📝 refine async policy docs 2026-06-14 00:33:59 +08:00
Nanaloveyuki 7207c07cbf 📝 clarify async config docs 2026-06-14 00:32:05 +08:00
Nanaloveyuki f19e9649af 📝 align async build config docs 2026-06-14 00:29:22 +08:00
Nanaloveyuki c45ee1050f 📝 clarify async build config consumers 2026-06-14 00:27:38 +08:00
Nanaloveyuki d748bfc6e6 📝 clarify async text builder path 2026-06-14 00:23:06 +08:00
Nanaloveyuki 77d97cef5e 📝 align async facade builder docs 2026-06-14 00:20:44 +08:00
Nanaloveyuki 3888d39bc0 📝 clarify async builder layering docs 2026-06-14 00:18:58 +08:00
Nanaloveyuki f7febb9f67 📝 fix async constructor signature docs 2026-06-14 00:16:08 +08:00
Nanaloveyuki 7440f1d328 📝 align remaining async examples 2026-06-14 00:14:19 +08:00
Nanaloveyuki e035625fc1 📝 align async write examples 2026-06-14 00:12:51 +08:00
Nanaloveyuki dae9d38a3f 📝 align async lifecycle examples 2026-06-14 00:10:59 +08:00
Nanaloveyuki ab45a9e4e3 📝 fix async alias examples 2026-06-14 00:09:42 +08:00
Nanaloveyuki e27f5680e6 📝 clarify async shutdown runtime docs 2026-06-14 00:08:24 +08:00
Nanaloveyuki 8196fe27b6 📝 clarify async text builder docs 2026-06-14 00:06:05 +08:00
Nanaloveyuki 4b5456f646 📝 clarify async library facade scope 2026-06-14 00:04:02 +08:00
Nanaloveyuki f4022ce95c 📝 clarify library facade runtime scope 2026-06-14 00:01:39 +08:00
18 changed files with 97 additions and 556 deletions
+46 -162
View File
@@ -7,190 +7,74 @@ on:
pull_request:
jobs:
quality-matrix:
name: Quality (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
moonbit:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup MoonBit (Linux/macOS)
if: runner.os != 'Windows'
shell: bash
- name: Install MoonBit
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
echo "$HOME/.moon/bin" >> "$GITHUB_PATH"
- name: Setup MoonBit (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm https://cli.moonbitlang.com/install/powershell.ps1 | iex
"$HOME/.moon/bin" | Out-File -FilePath $env:GITHUB_PATH -Append
- name: Setup MSYS2 toolchain (Windows)
if: runner.os == 'Windows'
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
install: >-
mingw-w64-ucrt-x86_64-gcc
mingw-w64-ucrt-x86_64-openssl
- name: Show tool versions
shell: bash
run: |
moon version --all
moon version
- name: Update Moon registry
shell: bash
run: |
moon update
- name: Check formatting and exported interfaces
shell: bash
- name: Check bitlogger
run: |
moon fmt --check
moon info
git diff --exit-code
moon check
- name: Root checks and tests
shell: bash
- name: Test bitlogger
run: |
moon check --deny-warn
moon test --deny-warn
moon check --target native --deny-warn
moon check --target wasm-gc --deny-warn
moon check --target js --deny-warn
moon test
- name: Run sync example
shell: bash
- name: Check bitlogger native
run: |
moon check --target native
- name: Check bitlogger wasm-gc
run: |
moon check --target wasm-gc
- name: Check bitlogger js
run: |
moon check --target js
- name: Check bitlogger_async native
run: |
moon check src-async --target native
- name: Check bitlogger_async wasm-gc
run: |
moon check src-async --target wasm-gc
- name: Check bitlogger_async js
run: |
moon check src-async --target js
- name: Test bitlogger_async native
run: |
moon test src-async --target native
- name: Test bitlogger_async wasm-gc
run: |
moon test src-async --target wasm-gc
- name: Test bitlogger_async js
run: |
moon test src-async --target js
- name: Run basic example
run: |
moon run examples/basic
- name: Check async example native
if: runner.os != 'Windows'
shell: bash
run: |
moon check examples/async_basic --target native --deny-warn
async-cross-targets:
name: Async cross-targets (Ubuntu)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup MoonBit
shell: bash
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
echo "$HOME/.moon/bin" >> "$GITHUB_PATH"
- name: Show tool versions
shell: bash
run: |
moon version --all
- name: Update Moon registry
shell: bash
run: |
moon update
- name: Check async package on wasm-gc and js
shell: bash
run: |
moon check src-async --target wasm-gc --deny-warn
moon check src-async --target js --deny-warn
- name: Test async package on wasm-gc and js
shell: bash
run: |
moon test src-async --target wasm-gc --deny-warn
moon test src-async --target js --deny-warn
async-native:
name: Async native (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup MoonBit
shell: bash
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
echo "$HOME/.moon/bin" >> "$GITHUB_PATH"
- name: Show tool versions
shell: bash
run: |
moon version --all
- name: Update Moon registry
shell: bash
run: |
moon update
- name: Check async native path
shell: bash
run: |
moon check src-async --target native --deny-warn
- name: Test async native path
shell: bash
run: |
moon test src-async --target native --deny-warn
coverage:
name: Coverage (Ubuntu)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup MoonBit
shell: bash
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
echo "$HOME/.moon/bin" >> "$GITHUB_PATH"
- name: Show tool versions
shell: bash
run: |
moon version --all
- name: Update Moon registry
shell: bash
run: |
moon update
- name: Root coverage (default target)
shell: bash
run: |
moon coverage clean
moon test --deny-warn --enable-coverage
moon coverage report -f summary
moon coverage analyze
- name: Root coverage (native target)
shell: bash
run: |
moon coverage clean
moon test --deny-warn --target native --enable-coverage
moon coverage report -f summary
moon coverage analyze
moon check examples/async_basic --target native
-13
View File
@@ -1,13 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/examples/basic"
// Values
// Errors
// Types and methods
// Type aliases
// Traits
-13
View File
@@ -1,13 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/examples/config_build"
// Values
// Errors
// Types and methods
// Type aliases
// Traits
-13
View File
@@ -1,13 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/examples/console_basic"
// Values
// Errors
// Types and methods
// Type aliases
// Traits
-13
View File
@@ -1,13 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/examples/file_rotation"
// Values
// Errors
// Types and methods
// Type aliases
// Traits
-13
View File
@@ -1,13 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/examples/presets"
// Values
// Errors
// Types and methods
// Type aliases
// Traits
-13
View File
@@ -1,13 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/examples/style_tags"
// Values
// Errors
// Types and methods
// Type aliases
// Traits
@@ -1,13 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/examples/text_formatter"
// Values
// Errors
// Types and methods
// Type aliases
// Traits
+9 -3
View File
@@ -190,7 +190,7 @@ async test "run rejects duplicate worker startup for same logger" {
@async.pause()
}
let second_error = (async fn() -> String {
let second_error = (async fn() -> String raise {
logger.run()
"no error"
})() catch {
@@ -1902,8 +1902,14 @@ async test "library async shutdown preserves wrapped failure cleanup semantics"
inspect(full.last_error().contains("TestFlushError"), content="true")
inspect(full.is_running(), content="false")
inspect(writes.val, content="1")
inspect(full.pending_count(), content="0")
inspect(full.dropped_count(), content="1")
inspect(
full.pending_count(),
content=if async_runtime_supports_background_worker() { "0" } else { "1" },
)
inspect(
full.dropped_count(),
content=if async_runtime_supports_background_worker() { "1" } else { "0" },
)
}
///|
+3 -3
View File
@@ -180,9 +180,9 @@ pub fn[S] async_logger(
///|
fn async_logger_phase_is_closed(phase : AsyncLifecyclePhase) -> Bool {
match phase {
AsyncLifecyclePhase::Closing
| AsyncLifecyclePhase::Closed
| AsyncLifecyclePhase::ClosedFailed => true
AsyncLifecyclePhase::Closing |
AsyncLifecyclePhase::Closed |
AsyncLifecyclePhase::ClosedFailed => true
_ => false
}
}
+13 -14
View File
@@ -2,10 +2,9 @@
package "Nanaloveyuki/BitLogger/src-async"
import {
"Nanaloveyuki/BitLogger/src",
"Nanaloveyuki/BitLogger/src-async/utils",
"Nanaloveyuki/BitLogger/src/core",
"Nanaloveyuki/BitLogger/src/runtime",
"Nanaloveyuki/BitLogger/src/sink_graph",
"maria/json_parser",
"moonbitlang/async/aqueue",
"moonbitlang/core/ref",
@@ -30,21 +29,21 @@ pub fn async_runtime_state_to_json(@utils.AsyncRuntimeState) -> @json_parser.Jso
pub fn async_runtime_supports_background_worker() -> Bool
pub fn build_application_async_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@runtime.RuntimeSink]
pub fn build_application_async_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@src.RuntimeSink]
pub fn build_application_text_async_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@sink_graph.FormattedConsoleSink]
pub fn build_application_text_async_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@src.FormattedConsoleSink]
pub fn build_async_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@runtime.RuntimeSink]
pub fn build_async_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@src.RuntimeSink]
pub fn build_async_text_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@sink_graph.FormattedConsoleSink]
pub fn build_async_text_logger(@utils.AsyncLoggerBuildConfig) -> AsyncLogger[@src.FormattedConsoleSink]
pub fn build_library_async_logger(@utils.AsyncLoggerBuildConfig) -> LibraryAsyncLogger[@runtime.RuntimeSink]
pub fn build_library_async_logger(@utils.AsyncLoggerBuildConfig) -> LibraryAsyncLogger[@src.RuntimeSink]
pub fn build_library_async_text_logger(@utils.AsyncLoggerBuildConfig) -> LibraryAsyncLogger[@sink_graph.FormattedConsoleSink]
pub fn build_library_async_text_logger(@utils.AsyncLoggerBuildConfig) -> LibraryAsyncLogger[@src.FormattedConsoleSink]
pub fn parse_and_build_application_async_logger(String) -> AsyncLogger[@runtime.RuntimeSink] raise
pub fn parse_and_build_application_async_logger(String) -> AsyncLogger[@src.RuntimeSink] raise
pub fn parse_and_build_library_async_logger(String) -> LibraryAsyncLogger[@runtime.RuntimeSink] raise
pub fn parse_and_build_library_async_logger(String) -> LibraryAsyncLogger[@src.RuntimeSink] raise
pub fn parse_async_logger_build_config_text(String) -> @utils.AsyncLoggerBuildConfig raise
@@ -102,7 +101,7 @@ pub fn[S] AsyncLogger::last_error(Self[S]) -> String
pub async fn[S] AsyncLogger::log(Self[S], @core.Level, String, fields? : Array[@core.Field], target? : String) -> Unit
pub fn[S] AsyncLogger::pending_count(Self[S]) -> Int
pub fn[S] AsyncLogger::phase(Self[S]) -> @utils.AsyncLifecyclePhase
pub async fn[S : @sink_graph.Sink] AsyncLogger::run(Self[S]) -> Unit
pub async fn[S : @src.Sink] AsyncLogger::run(Self[S]) -> Unit
pub async fn[S] AsyncLogger::shutdown(Self[S], clear? : Bool) -> Unit
pub fn[S] AsyncLogger::state(Self[S]) -> @utils.AsyncLoggerState
pub fn[S] AsyncLogger::to_library_async_logger(Self[S]) -> LibraryAsyncLogger[S]
@@ -126,7 +125,7 @@ pub async fn[S] LibraryAsyncLogger::info(Self[S], String, fields? : Array[@core.
pub fn[S] LibraryAsyncLogger::is_enabled(Self[S], @core.Level) -> Bool
pub async fn[S] LibraryAsyncLogger::log(Self[S], @core.Level, String, fields? : Array[@core.Field], target? : String) -> Unit
pub fn[S] LibraryAsyncLogger::new(S, config? : @utils.AsyncLoggerConfig, min_level? : @core.Level, target? : String, flush? : (S) -> Unit raise) -> Self[S]
pub async fn[S : @sink_graph.Sink] LibraryAsyncLogger::run(Self[S]) -> Unit
pub async fn[S : @src.Sink] LibraryAsyncLogger::run(Self[S]) -> Unit
pub async fn[S] LibraryAsyncLogger::shutdown(Self[S], clear? : Bool) -> Unit
pub fn[S] LibraryAsyncLogger::to_async_logger(Self[S]) -> AsyncLogger[S]
pub async fn[S] LibraryAsyncLogger::warn(Self[S], String, fields? : Array[@core.Field]) -> Unit
@@ -134,9 +133,9 @@ pub fn[S] LibraryAsyncLogger::with_context_fields(Self[S], Array[@core.Field]) -
pub fn[S] LibraryAsyncLogger::with_target(Self[S], String) -> Self[S]
// Type aliases
pub type ApplicationAsyncLogger = AsyncLogger[@runtime.RuntimeSink]
pub type ApplicationAsyncLogger = AsyncLogger[@src.RuntimeSink]
pub type ApplicationTextAsyncLogger = AsyncLogger[@sink_graph.FormattedConsoleSink]
pub type ApplicationTextAsyncLogger = AsyncLogger[@src.FormattedConsoleSink]
pub using @utils {type AsyncFlushPolicy}
+6 -4
View File
@@ -75,9 +75,9 @@ fn async_lifecycle_phase_label(phase : AsyncLifecyclePhase) -> String {
///|
fn async_lifecycle_phase_is_closed(phase : AsyncLifecyclePhase) -> Bool {
match phase {
AsyncLifecyclePhase::Closing
| AsyncLifecyclePhase::Closed
| AsyncLifecyclePhase::ClosedFailed => true
AsyncLifecyclePhase::Closing |
AsyncLifecyclePhase::Closed |
AsyncLifecyclePhase::ClosedFailed => true
_ => false
}
}
@@ -203,7 +203,9 @@ fn async_logger_state_to_json_value(
"is_closed": @json_parser.JsonValue::Bool(state.is_closed),
"is_running": @json_parser.JsonValue::Bool(state.is_running),
"has_failed": @json_parser.JsonValue::Bool(state.has_failed),
"backlog_retained": @json_parser.JsonValue::Bool(state.backlog_retained),
"backlog_retained": @json_parser.JsonValue::Bool(
state.backlog_retained,
),
"can_rerun": @json_parser.JsonValue::Bool(state.can_rerun),
"terminal": @json_parser.JsonValue::Bool(state.terminal),
"last_error": @json_parser.JsonValue::String(state.last_error),
-105
View File
@@ -1,105 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/src-async/utils"
import {
"Nanaloveyuki/BitLogger/src/config_model",
"maria/json_parser",
}
// Values
pub fn async_logger_build_config_to_json(AsyncLoggerBuildConfig) -> @json_parser.JsonValue
pub fn async_logger_config_to_json(AsyncLoggerConfig) -> @json_parser.JsonValue
pub fn async_logger_state_to_json(AsyncLoggerState) -> @json_parser.JsonValue
pub fn async_runtime_mode_label(AsyncRuntimeMode) -> String
pub fn async_runtime_state_to_json(AsyncRuntimeState) -> @json_parser.JsonValue
pub fn compatibility_async_runtime_mode() -> AsyncRuntimeMode
pub fn native_worker_async_runtime_mode() -> AsyncRuntimeMode
pub fn parse_async_logger_build_config_text(String) -> AsyncLoggerBuildConfig raise
pub fn parse_async_logger_config_text(String) -> AsyncLoggerConfig raise
pub fn stringify_async_logger_build_config(AsyncLoggerBuildConfig, pretty? : Bool) -> String
pub fn stringify_async_logger_config(AsyncLoggerConfig, pretty? : Bool) -> String
pub fn stringify_async_logger_state(AsyncLoggerState, pretty? : Bool) -> String
pub fn stringify_async_runtime_state(AsyncRuntimeState, pretty? : Bool) -> String
// Errors
// Types and methods
pub(all) enum AsyncFlushPolicy {
Never
Batch
Shutdown
}
pub(all) enum AsyncLifecyclePhase {
Ready
Running
Failed
Closing
Closed
ClosedFailed
}
pub struct AsyncLoggerBuildConfig {
logger : @config_model.LoggerConfig
async_config : AsyncLoggerConfig
}
pub fn AsyncLoggerBuildConfig::new(logger? : @config_model.LoggerConfig, async_config? : AsyncLoggerConfig) -> Self
pub struct AsyncLoggerConfig {
max_pending : Int
overflow : AsyncOverflowPolicy
max_batch : Int
linger_ms : Int
flush : AsyncFlushPolicy
}
pub fn AsyncLoggerConfig::new(max_pending? : Int, overflow? : AsyncOverflowPolicy, max_batch? : Int, linger_ms? : Int, flush? : AsyncFlushPolicy) -> Self
pub struct AsyncLoggerState {
runtime : AsyncRuntimeState
phase : AsyncLifecyclePhase
pending_count : Int
dropped_count : Int
is_closed : Bool
is_running : Bool
has_failed : Bool
backlog_retained : Bool
can_rerun : Bool
terminal : Bool
last_error : String
flush_policy : AsyncFlushPolicy
}
pub fn AsyncLoggerState::new(AsyncRuntimeState, AsyncLifecyclePhase, Int, Int, String, AsyncFlushPolicy) -> Self
pub(all) enum AsyncOverflowPolicy {
Blocking
DropOldest
DropNewest
}
pub enum AsyncRuntimeMode {
NativeWorker
Compatibility
}
pub struct AsyncRuntimeState {
mode : AsyncRuntimeMode
background_worker : Bool
}
pub fn AsyncRuntimeState::new(AsyncRuntimeMode, Bool) -> Self
// Type aliases
// Traits
-45
View File
@@ -1,45 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/src/core"
// Values
pub fn field(String, String) -> Field
pub fn fields(Array[(String, String)]) -> Array[Field]
// Errors
// Types and methods
pub struct Field {
key : String
value : String
}
pub fn Field::with_value(Self, String) -> Self
pub(all) enum Level {
Trace
Debug
Info
Warn
Error
}
pub fn Level::enabled(Self, Self) -> Bool
pub fn Level::label(Self) -> String
pub fn Level::priority(Self) -> Int
pub struct Record {
level : Level
timestamp_ms : UInt64
target : String
message : String
fields : Array[Field]
}
pub fn Record::copy(Self) -> Self
pub fn Record::new(Level, String, timestamp_ms? : UInt64, target? : String, fields? : Array[Field]) -> Self
pub fn Record::with_fields(Self, Array[Field]) -> Self
pub fn Record::with_message(Self, String) -> Self
pub fn Record::with_target(Self, String) -> Self
// Type aliases
// Traits
+9 -3
View File
@@ -128,7 +128,9 @@ pub fn Logger::file_rotation_failures(self : Logger[RuntimeSink]) -> Int {
}
///|
pub fn Logger::file_reset_failure_counters(self : Logger[RuntimeSink]) -> Bool {
pub fn Logger::file_reset_failure_counters(
self : Logger[RuntimeSink],
) -> Bool {
@runtime.RuntimeSink::file_reset_failure_counters(self.sink)
}
@@ -164,12 +166,16 @@ pub fn Logger::file_default_policy(
}
///|
pub fn Logger::file_policy_matches_default(self : Logger[RuntimeSink]) -> Bool {
pub fn Logger::file_policy_matches_default(
self : Logger[RuntimeSink],
) -> Bool {
@runtime.RuntimeSink::file_policy_matches_default(self.sink)
}
///|
pub fn Logger::file_state_or_none(self : Logger[RuntimeSink]) -> FileSinkState? {
pub fn Logger::file_state_or_none(
self : Logger[RuntimeSink],
) -> FileSinkState? {
@runtime.RuntimeSink::file_state_or_none(self.sink)
}
+4 -1
View File
@@ -46,7 +46,10 @@ pub fn Logger::drain_progress(
}
///|
pub fn Logger::drain(self : Logger[RuntimeSink], max_items? : Int = -1) -> Int {
pub fn Logger::drain(
self : Logger[RuntimeSink],
max_items? : Int = -1,
) -> Int {
@runtime.RuntimeSink::drain(self.sink, max_items~)
}
+7 -14
View File
@@ -1,12 +1,9 @@
///|
test "text formatter can customize visible parts" {
let rec = Record::new(
Level::Info,
"hello",
timestamp_ms=123UL,
target="svc.api",
fields=[field("user", "alice"), field("request_id", "42")],
)
let rec = Record::new(Level::Info, "hello", timestamp_ms=123UL, target="svc.api", fields=[
field("user", "alice"),
field("request_id", "42"),
])
let compact = text_formatter(
show_timestamp=false,
show_target=false,
@@ -461,13 +458,9 @@ test "formatted callback sink receives rendered text" {
///|
test "json formatter keeps structured shape" {
let rec = Record::new(
Level::Error,
"failed",
timestamp_ms=55UL,
target="svc",
fields=[field("code", "500")],
)
let rec = Record::new(Level::Error, "failed", timestamp_ms=55UL, target="svc", fields=[
field("code", "500"),
])
inspect(
format_json(rec),
content="{\"level\":\"ERROR\",\"message\":\"failed\",\"fields\":{\"code\":\"500\"},\"timestamp_ms\":\"55\",\"target\":\"svc\"}",
-111
View File
@@ -1,111 +0,0 @@
// Generated using `moon info`, DON'T EDIT IT
package "Nanaloveyuki/BitLogger/src/utils"
import {
"Nanaloveyuki/BitLogger/src/core",
"Nanaloveyuki/BitLogger/src/formatting",
}
// Values
pub fn all_of(Array[(@core.Record) -> Bool]) -> (@core.Record) -> Bool
pub fn any_of(Array[(@core.Record) -> Bool]) -> (@core.Record) -> Bool
pub fn append_fields(Array[@core.Field]) -> (@core.Record) -> @core.Record
pub fn close_file_handle_internal(FileHandle) -> Bool
pub fn color_mode_label(@formatting.ColorMode) -> String
pub fn color_support_label(@formatting.ColorSupport) -> String
pub fn compose_patches(Array[(@core.Record) -> @core.Record]) -> (@core.Record) -> @core.Record
pub fn default_style_tag_registry() -> @formatting.StyleTagRegistry
pub fn field_equals(String, String) -> (@core.Record) -> Bool
pub fn file_size_i64_internal(FileHandle) -> Int64
pub fn flush_file_handle_internal(FileHandle) -> Bool
pub fn format_json(@core.Record) -> String
pub fn format_text(@core.Record, formatter? : @formatting.TextFormatter) -> String
pub fn global_style_tag_registry() -> @formatting.StyleTagRegistry
pub fn has_field(String) -> (@core.Record) -> Bool
pub fn identity_patch() -> (@core.Record) -> @core.Record
pub fn level_at_least(@core.Level) -> (@core.Record) -> Bool
pub fn message_contains(String) -> (@core.Record) -> Bool
pub fn native_files_supported_internal() -> Bool
pub fn not_((@core.Record) -> Bool) -> (@core.Record) -> Bool
pub fn open_file_handle_internal(String, Bool) -> FileHandle?
pub fn prefix_message(String) -> (@core.Record) -> @core.Record
pub fn redact_field(String, placeholder? : String) -> (@core.Record) -> @core.Record
pub fn redact_fields(Array[String], placeholder? : String) -> (@core.Record) -> @core.Record
pub fn remove_file_internal(String) -> Bool
pub fn rename_file_internal(String, String) -> Bool
pub fn reset_global_style_tag_registry() -> Unit
pub fn set_global_style_tag_registry(@formatting.StyleTagRegistry) -> Unit
pub fn set_target(String) -> (@core.Record) -> @core.Record
pub fn string_byte_length_internal(String) -> Int
pub fn style_markup_mode_label(@formatting.StyleMarkupMode) -> String
pub fn style_tag_registry() -> @formatting.StyleTagRegistry
pub fn target_has_prefix(String) -> (@core.Record) -> Bool
pub fn target_is(String) -> (@core.Record) -> Bool
pub fn text_formatter(show_timestamp? : Bool, show_level? : Bool, show_target? : Bool, show_fields? : Bool, separator? : String, field_separator? : String, template? : String, color_mode? : @formatting.ColorMode, color_support? : @formatting.ColorSupport, style_markup? : @formatting.StyleMarkupMode, target_style_markup? : @formatting.StyleMarkupMode, fields_style_markup? : @formatting.StyleMarkupMode, style_tags? : @formatting.StyleTagRegistry?) -> @formatting.TextFormatter
pub fn text_style(fg? : String?, bg? : String?, bold? : Bool, dim? : Bool, italic? : Bool, underline? : Bool) -> @formatting.TextStyle
pub fn write_file_handle_internal(FileHandle, String) -> Bool
// Errors
// Types and methods
pub struct FileHandle {
path : String
}
// Type aliases
pub using @formatting {type ColorMode}
pub using @formatting {type ColorSupport}
pub type RecordFormatter = (@core.Record) -> String
pub type RecordPatch = (@core.Record) -> @core.Record
pub type RecordPredicate = (@core.Record) -> Bool
pub using @formatting {type StyleMarkupMode}
pub using @formatting {type StyleTagRegistry}
pub using @formatting {type TextFormatter}
pub using @formatting {type TextStyle}
// Traits