lograil 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +40 -0
  4. package/dist/cjs/context/async-context.browser.d.ts +16 -0
  5. package/dist/cjs/context/async-context.browser.d.ts.map +1 -0
  6. package/dist/cjs/context/async-context.browser.js +29 -0
  7. package/dist/cjs/context/async-context.browser.js.map +1 -0
  8. package/dist/cjs/context/async-context.d.ts +10 -0
  9. package/dist/cjs/context/async-context.d.ts.map +1 -0
  10. package/dist/cjs/context/async-context.js +37 -0
  11. package/dist/cjs/context/async-context.js.map +1 -0
  12. package/dist/cjs/context/context.d.ts +33 -0
  13. package/dist/cjs/context/context.d.ts.map +1 -0
  14. package/dist/cjs/context/context.js +57 -0
  15. package/dist/cjs/context/context.js.map +1 -0
  16. package/dist/cjs/context/index.d.ts +3 -0
  17. package/dist/cjs/context/index.d.ts.map +1 -0
  18. package/dist/cjs/context/index.js +19 -0
  19. package/dist/cjs/context/index.js.map +1 -0
  20. package/dist/cjs/core/entry.d.ts +30 -0
  21. package/dist/cjs/core/entry.d.ts.map +1 -0
  22. package/dist/cjs/core/entry.js +37 -0
  23. package/dist/cjs/core/entry.js.map +1 -0
  24. package/dist/cjs/core/index.d.ts +7 -0
  25. package/dist/cjs/core/index.d.ts.map +1 -0
  26. package/dist/cjs/core/index.js +24 -0
  27. package/dist/cjs/core/index.js.map +1 -0
  28. package/dist/cjs/core/level.d.ts +12 -0
  29. package/dist/cjs/core/level.d.ts.map +1 -0
  30. package/dist/cjs/core/level.js +31 -0
  31. package/dist/cjs/core/level.js.map +1 -0
  32. package/dist/cjs/core/logger.d.ts +271 -0
  33. package/dist/cjs/core/logger.d.ts.map +1 -0
  34. package/dist/cjs/core/logger.js +751 -0
  35. package/dist/cjs/core/logger.js.map +1 -0
  36. package/dist/cjs/core/printf.d.ts +34 -0
  37. package/dist/cjs/core/printf.d.ts.map +1 -0
  38. package/dist/cjs/core/printf.js +133 -0
  39. package/dist/cjs/core/printf.js.map +1 -0
  40. package/dist/cjs/index.d.ts +40 -0
  41. package/dist/cjs/index.d.ts.map +1 -0
  42. package/dist/cjs/index.js +56 -0
  43. package/dist/cjs/index.js.map +1 -0
  44. package/dist/cjs/package.json +1 -0
  45. package/dist/cjs/pipeline/filter.d.ts +10 -0
  46. package/dist/cjs/pipeline/filter.d.ts.map +1 -0
  47. package/dist/cjs/pipeline/filter.js +16 -0
  48. package/dist/cjs/pipeline/filter.js.map +1 -0
  49. package/dist/cjs/pipeline/formatter.d.ts +19 -0
  50. package/dist/cjs/pipeline/formatter.d.ts.map +1 -0
  51. package/dist/cjs/pipeline/formatter.js +183 -0
  52. package/dist/cjs/pipeline/formatter.js.map +1 -0
  53. package/dist/cjs/pipeline/index.d.ts +6 -0
  54. package/dist/cjs/pipeline/index.d.ts.map +1 -0
  55. package/dist/cjs/pipeline/index.js +22 -0
  56. package/dist/cjs/pipeline/index.js.map +1 -0
  57. package/dist/cjs/pipeline/pipeline.d.ts +45 -0
  58. package/dist/cjs/pipeline/pipeline.d.ts.map +1 -0
  59. package/dist/cjs/pipeline/pipeline.js +80 -0
  60. package/dist/cjs/pipeline/pipeline.js.map +1 -0
  61. package/dist/cjs/pipeline/processor.d.ts +67 -0
  62. package/dist/cjs/pipeline/processor.d.ts.map +1 -0
  63. package/dist/cjs/pipeline/processor.js +284 -0
  64. package/dist/cjs/pipeline/processor.js.map +1 -0
  65. package/dist/cjs/pipeline/sampler.d.ts +45 -0
  66. package/dist/cjs/pipeline/sampler.d.ts.map +1 -0
  67. package/dist/cjs/pipeline/sampler.js +62 -0
  68. package/dist/cjs/pipeline/sampler.js.map +1 -0
  69. package/dist/cjs/plugin/index.d.ts +4 -0
  70. package/dist/cjs/plugin/index.d.ts.map +1 -0
  71. package/dist/cjs/plugin/index.js +20 -0
  72. package/dist/cjs/plugin/index.js.map +1 -0
  73. package/dist/cjs/plugin/manager.d.ts +38 -0
  74. package/dist/cjs/plugin/manager.d.ts.map +1 -0
  75. package/dist/cjs/plugin/manager.js +79 -0
  76. package/dist/cjs/plugin/manager.js.map +1 -0
  77. package/dist/cjs/plugin/otel-trace.d.ts +19 -0
  78. package/dist/cjs/plugin/otel-trace.d.ts.map +1 -0
  79. package/dist/cjs/plugin/otel-trace.js +91 -0
  80. package/dist/cjs/plugin/otel-trace.js.map +1 -0
  81. package/dist/cjs/plugin/plugin.d.ts +41 -0
  82. package/dist/cjs/plugin/plugin.d.ts.map +1 -0
  83. package/dist/cjs/plugin/plugin.js +3 -0
  84. package/dist/cjs/plugin/plugin.js.map +1 -0
  85. package/dist/cjs/runtime/adapter.d.ts +81 -0
  86. package/dist/cjs/runtime/adapter.d.ts.map +1 -0
  87. package/dist/cjs/runtime/adapter.js +3 -0
  88. package/dist/cjs/runtime/adapter.js.map +1 -0
  89. package/dist/cjs/runtime/defaults.d.ts +27 -0
  90. package/dist/cjs/runtime/defaults.d.ts.map +1 -0
  91. package/dist/cjs/runtime/defaults.js +30 -0
  92. package/dist/cjs/runtime/defaults.js.map +1 -0
  93. package/dist/cjs/runtime/electron-binding.browser.d.ts +10 -0
  94. package/dist/cjs/runtime/electron-binding.browser.d.ts.map +1 -0
  95. package/dist/cjs/runtime/electron-binding.browser.js +18 -0
  96. package/dist/cjs/runtime/electron-binding.browser.js.map +1 -0
  97. package/dist/cjs/runtime/electron-binding.d.ts +24 -0
  98. package/dist/cjs/runtime/electron-binding.d.ts.map +1 -0
  99. package/dist/cjs/runtime/electron-binding.js +49 -0
  100. package/dist/cjs/runtime/electron-binding.js.map +1 -0
  101. package/dist/cjs/runtime/electron-lifecycle.d.ts +17 -0
  102. package/dist/cjs/runtime/electron-lifecycle.d.ts.map +1 -0
  103. package/dist/cjs/runtime/electron-lifecycle.js +47 -0
  104. package/dist/cjs/runtime/electron-lifecycle.js.map +1 -0
  105. package/dist/cjs/runtime/electron-main.d.ts +24 -0
  106. package/dist/cjs/runtime/electron-main.d.ts.map +1 -0
  107. package/dist/cjs/runtime/electron-main.js +102 -0
  108. package/dist/cjs/runtime/electron-main.js.map +1 -0
  109. package/dist/cjs/runtime/electron-renderer.d.ts +26 -0
  110. package/dist/cjs/runtime/electron-renderer.d.ts.map +1 -0
  111. package/dist/cjs/runtime/electron-renderer.js +33 -0
  112. package/dist/cjs/runtime/electron-renderer.js.map +1 -0
  113. package/dist/cjs/runtime/electron.d.ts +20 -0
  114. package/dist/cjs/runtime/electron.d.ts.map +1 -0
  115. package/dist/cjs/runtime/electron.js +27 -0
  116. package/dist/cjs/runtime/electron.js.map +1 -0
  117. package/dist/cjs/runtime/index.d.ts +21 -0
  118. package/dist/cjs/runtime/index.d.ts.map +1 -0
  119. package/dist/cjs/runtime/index.js +41 -0
  120. package/dist/cjs/runtime/index.js.map +1 -0
  121. package/dist/cjs/runtime/node.d.ts +27 -0
  122. package/dist/cjs/runtime/node.d.ts.map +1 -0
  123. package/dist/cjs/runtime/node.js +126 -0
  124. package/dist/cjs/runtime/node.js.map +1 -0
  125. package/dist/cjs/runtime/process-lifecycle.d.ts +13 -0
  126. package/dist/cjs/runtime/process-lifecycle.d.ts.map +1 -0
  127. package/dist/cjs/runtime/process-lifecycle.js +80 -0
  128. package/dist/cjs/runtime/process-lifecycle.js.map +1 -0
  129. package/dist/cjs/runtime/web-lifecycle.d.ts +13 -0
  130. package/dist/cjs/runtime/web-lifecycle.d.ts.map +1 -0
  131. package/dist/cjs/runtime/web-lifecycle.js +39 -0
  132. package/dist/cjs/runtime/web-lifecycle.js.map +1 -0
  133. package/dist/cjs/runtime/web.d.ts +14 -0
  134. package/dist/cjs/runtime/web.d.ts.map +1 -0
  135. package/dist/cjs/runtime/web.js +61 -0
  136. package/dist/cjs/runtime/web.js.map +1 -0
  137. package/dist/cjs/shims/index.browser.d.ts +26 -0
  138. package/dist/cjs/shims/index.browser.d.ts.map +1 -0
  139. package/dist/cjs/shims/index.browser.js +67 -0
  140. package/dist/cjs/shims/index.browser.js.map +1 -0
  141. package/dist/cjs/shims/index.d.ts +15 -0
  142. package/dist/cjs/shims/index.d.ts.map +1 -0
  143. package/dist/cjs/shims/index.js +39 -0
  144. package/dist/cjs/shims/index.js.map +1 -0
  145. package/dist/cjs/transport/cluster-ipc.d.ts +36 -0
  146. package/dist/cjs/transport/cluster-ipc.d.ts.map +1 -0
  147. package/dist/cjs/transport/cluster-ipc.js +76 -0
  148. package/dist/cjs/transport/cluster-ipc.js.map +1 -0
  149. package/dist/cjs/transport/console.d.ts +28 -0
  150. package/dist/cjs/transport/console.d.ts.map +1 -0
  151. package/dist/cjs/transport/console.js +48 -0
  152. package/dist/cjs/transport/console.js.map +1 -0
  153. package/dist/cjs/transport/electron-ipc.d.ts +69 -0
  154. package/dist/cjs/transport/electron-ipc.d.ts.map +1 -0
  155. package/dist/cjs/transport/electron-ipc.js +153 -0
  156. package/dist/cjs/transport/electron-ipc.js.map +1 -0
  157. package/dist/cjs/transport/file.d.ts +190 -0
  158. package/dist/cjs/transport/file.d.ts.map +1 -0
  159. package/dist/cjs/transport/file.js +666 -0
  160. package/dist/cjs/transport/file.js.map +1 -0
  161. package/dist/cjs/transport/index.d.ts +9 -0
  162. package/dist/cjs/transport/index.d.ts.map +1 -0
  163. package/dist/cjs/transport/index.js +25 -0
  164. package/dist/cjs/transport/index.js.map +1 -0
  165. package/dist/cjs/transport/live.d.ts +72 -0
  166. package/dist/cjs/transport/live.d.ts.map +1 -0
  167. package/dist/cjs/transport/live.js +104 -0
  168. package/dist/cjs/transport/live.js.map +1 -0
  169. package/dist/cjs/transport/otlp.d.ts +97 -0
  170. package/dist/cjs/transport/otlp.d.ts.map +1 -0
  171. package/dist/cjs/transport/otlp.js +194 -0
  172. package/dist/cjs/transport/otlp.js.map +1 -0
  173. package/dist/cjs/transport/rotating-file.d.ts +67 -0
  174. package/dist/cjs/transport/rotating-file.d.ts.map +1 -0
  175. package/dist/cjs/transport/rotating-file.js +179 -0
  176. package/dist/cjs/transport/rotating-file.js.map +1 -0
  177. package/dist/cjs/transport/transport.d.ts +35 -0
  178. package/dist/cjs/transport/transport.d.ts.map +1 -0
  179. package/dist/cjs/transport/transport.js +3 -0
  180. package/dist/cjs/transport/transport.js.map +1 -0
  181. package/dist/cjs/transport/worker-ipc.d.ts +43 -0
  182. package/dist/cjs/transport/worker-ipc.d.ts.map +1 -0
  183. package/dist/cjs/transport/worker-ipc.js +106 -0
  184. package/dist/cjs/transport/worker-ipc.js.map +1 -0
  185. package/dist/cjs/types.d.ts +72 -0
  186. package/dist/cjs/types.d.ts.map +1 -0
  187. package/dist/cjs/types.js +45 -0
  188. package/dist/cjs/types.js.map +1 -0
  189. package/dist/esm/context/async-context.browser.d.ts +16 -0
  190. package/dist/esm/context/async-context.browser.d.ts.map +1 -0
  191. package/dist/esm/context/async-context.browser.js +25 -0
  192. package/dist/esm/context/async-context.browser.js.map +1 -0
  193. package/dist/esm/context/async-context.d.ts +10 -0
  194. package/dist/esm/context/async-context.d.ts.map +1 -0
  195. package/dist/esm/context/async-context.js +33 -0
  196. package/dist/esm/context/async-context.js.map +1 -0
  197. package/dist/esm/context/context.d.ts +33 -0
  198. package/dist/esm/context/context.d.ts.map +1 -0
  199. package/dist/esm/context/context.js +52 -0
  200. package/dist/esm/context/context.js.map +1 -0
  201. package/dist/esm/context/index.d.ts +3 -0
  202. package/dist/esm/context/index.d.ts.map +1 -0
  203. package/dist/esm/context/index.js +3 -0
  204. package/dist/esm/context/index.js.map +1 -0
  205. package/dist/esm/core/entry.d.ts +30 -0
  206. package/dist/esm/core/entry.d.ts.map +1 -0
  207. package/dist/esm/core/entry.js +34 -0
  208. package/dist/esm/core/entry.js.map +1 -0
  209. package/dist/esm/core/index.d.ts +7 -0
  210. package/dist/esm/core/index.d.ts.map +1 -0
  211. package/dist/esm/core/index.js +6 -0
  212. package/dist/esm/core/index.js.map +1 -0
  213. package/dist/esm/core/level.d.ts +12 -0
  214. package/dist/esm/core/level.d.ts.map +1 -0
  215. package/dist/esm/core/level.js +25 -0
  216. package/dist/esm/core/level.js.map +1 -0
  217. package/dist/esm/core/logger.d.ts +271 -0
  218. package/dist/esm/core/logger.d.ts.map +1 -0
  219. package/dist/esm/core/logger.js +747 -0
  220. package/dist/esm/core/logger.js.map +1 -0
  221. package/dist/esm/core/printf.d.ts +34 -0
  222. package/dist/esm/core/printf.d.ts.map +1 -0
  223. package/dist/esm/core/printf.js +129 -0
  224. package/dist/esm/core/printf.js.map +1 -0
  225. package/dist/esm/index.d.ts +40 -0
  226. package/dist/esm/index.d.ts.map +1 -0
  227. package/dist/esm/index.js +38 -0
  228. package/dist/esm/index.js.map +1 -0
  229. package/dist/esm/pipeline/filter.d.ts +10 -0
  230. package/dist/esm/pipeline/filter.d.ts.map +1 -0
  231. package/dist/esm/pipeline/filter.js +11 -0
  232. package/dist/esm/pipeline/filter.js.map +1 -0
  233. package/dist/esm/pipeline/formatter.d.ts +19 -0
  234. package/dist/esm/pipeline/formatter.d.ts.map +1 -0
  235. package/dist/esm/pipeline/formatter.js +179 -0
  236. package/dist/esm/pipeline/formatter.js.map +1 -0
  237. package/dist/esm/pipeline/index.d.ts +6 -0
  238. package/dist/esm/pipeline/index.d.ts.map +1 -0
  239. package/dist/esm/pipeline/index.js +6 -0
  240. package/dist/esm/pipeline/index.js.map +1 -0
  241. package/dist/esm/pipeline/pipeline.d.ts +45 -0
  242. package/dist/esm/pipeline/pipeline.d.ts.map +1 -0
  243. package/dist/esm/pipeline/pipeline.js +76 -0
  244. package/dist/esm/pipeline/pipeline.js.map +1 -0
  245. package/dist/esm/pipeline/processor.d.ts +67 -0
  246. package/dist/esm/pipeline/processor.d.ts.map +1 -0
  247. package/dist/esm/pipeline/processor.js +277 -0
  248. package/dist/esm/pipeline/processor.js.map +1 -0
  249. package/dist/esm/pipeline/sampler.d.ts +45 -0
  250. package/dist/esm/pipeline/sampler.d.ts.map +1 -0
  251. package/dist/esm/pipeline/sampler.js +59 -0
  252. package/dist/esm/pipeline/sampler.js.map +1 -0
  253. package/dist/esm/plugin/index.d.ts +4 -0
  254. package/dist/esm/plugin/index.d.ts.map +1 -0
  255. package/dist/esm/plugin/index.js +4 -0
  256. package/dist/esm/plugin/index.js.map +1 -0
  257. package/dist/esm/plugin/manager.d.ts +38 -0
  258. package/dist/esm/plugin/manager.d.ts.map +1 -0
  259. package/dist/esm/plugin/manager.js +75 -0
  260. package/dist/esm/plugin/manager.js.map +1 -0
  261. package/dist/esm/plugin/otel-trace.d.ts +19 -0
  262. package/dist/esm/plugin/otel-trace.d.ts.map +1 -0
  263. package/dist/esm/plugin/otel-trace.js +55 -0
  264. package/dist/esm/plugin/otel-trace.js.map +1 -0
  265. package/dist/esm/plugin/plugin.d.ts +41 -0
  266. package/dist/esm/plugin/plugin.d.ts.map +1 -0
  267. package/dist/esm/plugin/plugin.js +2 -0
  268. package/dist/esm/plugin/plugin.js.map +1 -0
  269. package/dist/esm/runtime/adapter.d.ts +81 -0
  270. package/dist/esm/runtime/adapter.d.ts.map +1 -0
  271. package/dist/esm/runtime/adapter.js +2 -0
  272. package/dist/esm/runtime/adapter.js.map +1 -0
  273. package/dist/esm/runtime/defaults.d.ts +27 -0
  274. package/dist/esm/runtime/defaults.d.ts.map +1 -0
  275. package/dist/esm/runtime/defaults.js +27 -0
  276. package/dist/esm/runtime/defaults.js.map +1 -0
  277. package/dist/esm/runtime/electron-binding.browser.d.ts +10 -0
  278. package/dist/esm/runtime/electron-binding.browser.d.ts.map +1 -0
  279. package/dist/esm/runtime/electron-binding.browser.js +13 -0
  280. package/dist/esm/runtime/electron-binding.browser.js.map +1 -0
  281. package/dist/esm/runtime/electron-binding.d.ts +24 -0
  282. package/dist/esm/runtime/electron-binding.d.ts.map +1 -0
  283. package/dist/esm/runtime/electron-binding.js +44 -0
  284. package/dist/esm/runtime/electron-binding.js.map +1 -0
  285. package/dist/esm/runtime/electron-lifecycle.d.ts +17 -0
  286. package/dist/esm/runtime/electron-lifecycle.d.ts.map +1 -0
  287. package/dist/esm/runtime/electron-lifecycle.js +44 -0
  288. package/dist/esm/runtime/electron-lifecycle.js.map +1 -0
  289. package/dist/esm/runtime/electron-main.d.ts +24 -0
  290. package/dist/esm/runtime/electron-main.d.ts.map +1 -0
  291. package/dist/esm/runtime/electron-main.js +99 -0
  292. package/dist/esm/runtime/electron-main.js.map +1 -0
  293. package/dist/esm/runtime/electron-renderer.d.ts +26 -0
  294. package/dist/esm/runtime/electron-renderer.d.ts.map +1 -0
  295. package/dist/esm/runtime/electron-renderer.js +30 -0
  296. package/dist/esm/runtime/electron-renderer.js.map +1 -0
  297. package/dist/esm/runtime/electron.d.ts +20 -0
  298. package/dist/esm/runtime/electron.d.ts.map +1 -0
  299. package/dist/esm/runtime/electron.js +21 -0
  300. package/dist/esm/runtime/electron.js.map +1 -0
  301. package/dist/esm/runtime/index.d.ts +21 -0
  302. package/dist/esm/runtime/index.d.ts.map +1 -0
  303. package/dist/esm/runtime/index.js +29 -0
  304. package/dist/esm/runtime/index.js.map +1 -0
  305. package/dist/esm/runtime/node.d.ts +27 -0
  306. package/dist/esm/runtime/node.d.ts.map +1 -0
  307. package/dist/esm/runtime/node.js +123 -0
  308. package/dist/esm/runtime/node.js.map +1 -0
  309. package/dist/esm/runtime/process-lifecycle.d.ts +13 -0
  310. package/dist/esm/runtime/process-lifecycle.d.ts.map +1 -0
  311. package/dist/esm/runtime/process-lifecycle.js +77 -0
  312. package/dist/esm/runtime/process-lifecycle.js.map +1 -0
  313. package/dist/esm/runtime/web-lifecycle.d.ts +13 -0
  314. package/dist/esm/runtime/web-lifecycle.d.ts.map +1 -0
  315. package/dist/esm/runtime/web-lifecycle.js +36 -0
  316. package/dist/esm/runtime/web-lifecycle.js.map +1 -0
  317. package/dist/esm/runtime/web.d.ts +14 -0
  318. package/dist/esm/runtime/web.d.ts.map +1 -0
  319. package/dist/esm/runtime/web.js +58 -0
  320. package/dist/esm/runtime/web.js.map +1 -0
  321. package/dist/esm/shims/index.browser.d.ts +26 -0
  322. package/dist/esm/shims/index.browser.d.ts.map +1 -0
  323. package/dist/esm/shims/index.browser.js +54 -0
  324. package/dist/esm/shims/index.browser.js.map +1 -0
  325. package/dist/esm/shims/index.d.ts +15 -0
  326. package/dist/esm/shims/index.d.ts.map +1 -0
  327. package/dist/esm/shims/index.js +22 -0
  328. package/dist/esm/shims/index.js.map +1 -0
  329. package/dist/esm/transport/cluster-ipc.d.ts +36 -0
  330. package/dist/esm/transport/cluster-ipc.d.ts.map +1 -0
  331. package/dist/esm/transport/cluster-ipc.js +71 -0
  332. package/dist/esm/transport/cluster-ipc.js.map +1 -0
  333. package/dist/esm/transport/console.d.ts +28 -0
  334. package/dist/esm/transport/console.d.ts.map +1 -0
  335. package/dist/esm/transport/console.js +44 -0
  336. package/dist/esm/transport/console.js.map +1 -0
  337. package/dist/esm/transport/electron-ipc.d.ts +69 -0
  338. package/dist/esm/transport/electron-ipc.d.ts.map +1 -0
  339. package/dist/esm/transport/electron-ipc.js +146 -0
  340. package/dist/esm/transport/electron-ipc.js.map +1 -0
  341. package/dist/esm/transport/file.d.ts +190 -0
  342. package/dist/esm/transport/file.d.ts.map +1 -0
  343. package/dist/esm/transport/file.js +662 -0
  344. package/dist/esm/transport/file.js.map +1 -0
  345. package/dist/esm/transport/index.d.ts +9 -0
  346. package/dist/esm/transport/index.d.ts.map +1 -0
  347. package/dist/esm/transport/index.js +9 -0
  348. package/dist/esm/transport/index.js.map +1 -0
  349. package/dist/esm/transport/live.d.ts +72 -0
  350. package/dist/esm/transport/live.d.ts.map +1 -0
  351. package/dist/esm/transport/live.js +100 -0
  352. package/dist/esm/transport/live.js.map +1 -0
  353. package/dist/esm/transport/otlp.d.ts +97 -0
  354. package/dist/esm/transport/otlp.d.ts.map +1 -0
  355. package/dist/esm/transport/otlp.js +190 -0
  356. package/dist/esm/transport/otlp.js.map +1 -0
  357. package/dist/esm/transport/rotating-file.d.ts +67 -0
  358. package/dist/esm/transport/rotating-file.d.ts.map +1 -0
  359. package/dist/esm/transport/rotating-file.js +175 -0
  360. package/dist/esm/transport/rotating-file.js.map +1 -0
  361. package/dist/esm/transport/transport.d.ts +35 -0
  362. package/dist/esm/transport/transport.d.ts.map +1 -0
  363. package/dist/esm/transport/transport.js +2 -0
  364. package/dist/esm/transport/transport.js.map +1 -0
  365. package/dist/esm/transport/worker-ipc.d.ts +43 -0
  366. package/dist/esm/transport/worker-ipc.d.ts.map +1 -0
  367. package/dist/esm/transport/worker-ipc.js +101 -0
  368. package/dist/esm/transport/worker-ipc.js.map +1 -0
  369. package/dist/esm/types.d.ts +72 -0
  370. package/dist/esm/types.d.ts.map +1 -0
  371. package/dist/esm/types.js +39 -0
  372. package/dist/esm/types.js.map +1 -0
  373. package/package.json +128 -0
@@ -0,0 +1,38 @@
1
+ import type { LogEntry } from '../types.js';
2
+ import type { Transport } from '../transport/transport.js';
3
+ import type { Plugin, PluginContext } from './plugin.js';
4
+ /**
5
+ * Manages plugin registration and lifecycle. The logger delegates entry
6
+ * interception and transport registration to this manager.
7
+ */
8
+ export declare class PluginManager {
9
+ private plugins;
10
+ private host;
11
+ /** Count of plugins with an `onEntry` hook; gates the async intercept path. */
12
+ private entryInterceptors;
13
+ /**
14
+ * Error sink for a plugin's `onEntry` hook. A throwing hook must never drop
15
+ * the entry silently or crash logging; the error is reported and the entry
16
+ * proceeds unchanged.
17
+ */
18
+ onError?: (pluginName: string, err: unknown, entry: LogEntry) => void;
19
+ constructor(host: PluginContext);
20
+ register(plugin: Plugin): Promise<void>;
21
+ /** Unregister a plugin by name. Its `onDestroy` hook (if any) is invoked. */
22
+ unregister(name: string): void;
23
+ has(name: string): boolean;
24
+ /** True when at least one plugin can intercept entries via `onEntry`. */
25
+ hasEntryInterceptors(): boolean;
26
+ /**
27
+ * Notify plugins that a transport was added (so `onTransport` hooks run).
28
+ * Called by the logger's `addTransport`.
29
+ */
30
+ notifyTransport(transport: Transport): void;
31
+ /**
32
+ * Run every plugin's `onEntry` hook in registration order. A plugin may
33
+ * return `null` to drop the entry, or a modified entry to pass downstream.
34
+ */
35
+ intercept(entry: LogEntry): Promise<LogEntry | null>;
36
+ destroy(): Promise<void>;
37
+ }
38
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/plugin/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,IAAI,CAAgB;IAC5B,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAAK;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;gBAE1D,IAAI,EAAE,aAAa;IAIzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C,6EAA6E;IAC7E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,yEAAyE;IACzE,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAM3C;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PluginManager = void 0;
4
+ /**
5
+ * Manages plugin registration and lifecycle. The logger delegates entry
6
+ * interception and transport registration to this manager.
7
+ */
8
+ class PluginManager {
9
+ constructor(host) {
10
+ this.plugins = new Map();
11
+ /** Count of plugins with an `onEntry` hook; gates the async intercept path. */
12
+ this.entryInterceptors = 0;
13
+ this.host = host;
14
+ }
15
+ async register(plugin) {
16
+ if (this.plugins.has(plugin.name)) {
17
+ throw new Error(`Plugin already registered: ${plugin.name}`);
18
+ }
19
+ this.plugins.set(plugin.name, plugin);
20
+ if (plugin.onEntry)
21
+ this.entryInterceptors++;
22
+ await plugin.onInit?.(this.host);
23
+ }
24
+ /** Unregister a plugin by name. Its `onDestroy` hook (if any) is invoked. */
25
+ unregister(name) {
26
+ const plugin = this.plugins.get(name);
27
+ if (!plugin)
28
+ return;
29
+ if (plugin.onEntry)
30
+ this.entryInterceptors--;
31
+ this.plugins.delete(name);
32
+ void plugin.onDestroy?.();
33
+ }
34
+ has(name) {
35
+ return this.plugins.has(name);
36
+ }
37
+ /** True when at least one plugin can intercept entries via `onEntry`. */
38
+ hasEntryInterceptors() {
39
+ return this.entryInterceptors > 0;
40
+ }
41
+ /**
42
+ * Notify plugins that a transport was added (so `onTransport` hooks run).
43
+ * Called by the logger's `addTransport`.
44
+ */
45
+ notifyTransport(transport) {
46
+ for (const plugin of this.plugins.values()) {
47
+ plugin.onTransport?.(transport);
48
+ }
49
+ }
50
+ /**
51
+ * Run every plugin's `onEntry` hook in registration order. A plugin may
52
+ * return `null` to drop the entry, or a modified entry to pass downstream.
53
+ */
54
+ async intercept(entry) {
55
+ let current = entry;
56
+ for (const plugin of this.plugins.values()) {
57
+ if (!current)
58
+ break;
59
+ if (plugin.onEntry) {
60
+ try {
61
+ current = await plugin.onEntry(current);
62
+ }
63
+ catch (err) {
64
+ this.onError?.(plugin.name, err, entry);
65
+ // Keep the entry as-is; a faulty plugin must not drop or mutate it.
66
+ }
67
+ }
68
+ }
69
+ return current;
70
+ }
71
+ async destroy() {
72
+ for (const plugin of this.plugins.values()) {
73
+ await plugin.onDestroy?.();
74
+ }
75
+ this.plugins.clear();
76
+ }
77
+ }
78
+ exports.PluginManager = PluginManager;
79
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/plugin/manager.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,MAAa,aAAa;IAYxB,YAAY,IAAmB;QAXvB,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,+EAA+E;QACvE,sBAAiB,GAAG,CAAC,CAAC;QAS5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,6EAA6E;IAC7E,UAAU,CAAC,IAAY;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,yEAAyE;IACzE,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,SAAoB;QAClC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,KAAe;QAC7B,IAAI,OAAO,GAAoB,KAAK,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,MAAM;YACpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBACxC,oEAAoE;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AA/ED,sCA+EC"}
@@ -0,0 +1,19 @@
1
+ import type { Plugin } from './plugin.js';
2
+ /**
3
+ * Plugin that injects the active OpenTelemetry trace/span identifiers into each
4
+ * entry's `metadata` (`traceId` / `spanId`), so an `OtlpTransport` (or any
5
+ * backend that reads those fields) can correlate logs with their span without
6
+ * you having to thread the context manually.
7
+ *
8
+ * `@opentelemetry/api` is an **optional** peer dependency: if it isn't installed,
9
+ * or no span is active, the plugin is a no-op and entries are unaffected. Load
10
+ * it once via `logger.use(createOtelTracePlugin())`.
11
+ *
12
+ * @example
13
+ * import { trace } from '@opentelemetry/api';
14
+ * const span = tracer.startSpan('op');
15
+ * trace.setSpan(context.active(), span);
16
+ * logger.info('inside span'); // => metadata: { traceId, spanId }
17
+ */
18
+ export declare function createOtelTracePlugin(): Plugin;
19
+ //# sourceMappingURL=otel-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-trace.d.ts","sourceRoot":"","sources":["../../../src/plugin/otel-trace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAW1C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAgC9C"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createOtelTracePlugin = createOtelTracePlugin;
37
+ /**
38
+ * Plugin that injects the active OpenTelemetry trace/span identifiers into each
39
+ * entry's `metadata` (`traceId` / `spanId`), so an `OtlpTransport` (or any
40
+ * backend that reads those fields) can correlate logs with their span without
41
+ * you having to thread the context manually.
42
+ *
43
+ * `@opentelemetry/api` is an **optional** peer dependency: if it isn't installed,
44
+ * or no span is active, the plugin is a no-op and entries are unaffected. Load
45
+ * it once via `logger.use(createOtelTracePlugin())`.
46
+ *
47
+ * @example
48
+ * import { trace } from '@opentelemetry/api';
49
+ * const span = tracer.startSpan('op');
50
+ * trace.setSpan(context.active(), span);
51
+ * logger.info('inside span'); // => metadata: { traceId, spanId }
52
+ */
53
+ function createOtelTracePlugin() {
54
+ let traceApi;
55
+ return {
56
+ name: 'otel-trace',
57
+ async onInit() {
58
+ try {
59
+ // Lazy, optional resolution — never fails if the package is absent.
60
+ // The specifier is held in a variable so TypeScript does not try to
61
+ // resolve the (optional) module at compile time.
62
+ const specifier = '@opentelemetry/api';
63
+ const mod = (await Promise.resolve(`${specifier}`).then(s => __importStar(require(s))));
64
+ traceApi = mod.trace;
65
+ }
66
+ catch {
67
+ traceApi = undefined;
68
+ }
69
+ },
70
+ onEntry(entry) {
71
+ if (!traceApi)
72
+ return entry;
73
+ const span = traceApi.getActiveSpan();
74
+ if (!span)
75
+ return entry;
76
+ // Some tracer implementations return a span object without a
77
+ // `spanContext` method; tolerate that instead of throwing on the hot
78
+ // path.
79
+ if (typeof span.spanContext !== 'function')
80
+ return entry;
81
+ const ctx = span.spanContext();
82
+ if (!ctx)
83
+ return entry;
84
+ return {
85
+ ...entry,
86
+ metadata: { ...entry.metadata, traceId: ctx.traceId, spanId: ctx.spanId },
87
+ };
88
+ },
89
+ };
90
+ }
91
+ //# sourceMappingURL=otel-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-trace.js","sourceRoot":"","sources":["../../../src/plugin/otel-trace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,sDAgCC;AAhDD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,qBAAqB;IACnC,IAAI,QAAkC,CAAC;IACvC,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,KAAK,CAAC,MAAM;YACV,IAAI,CAAC;gBACH,oEAAoE;gBACpE,oEAAoE;gBACpE,iDAAiD;gBACjD,MAAM,SAAS,GAAG,oBAAoB,CAAC;gBACvC,MAAM,GAAG,GAAG,CAAC,yBAAa,SAAS,uCAAC,CAAwC,CAAC;gBAC7E,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAe;YACrB,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxB,6DAA6D;YAC7D,qEAAqE;YACrE,QAAQ;YACR,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YACzD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YACvB,OAAO;gBACL,GAAG,KAAK;gBACR,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;aAC1E,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { LogEntry } from '../types.js';
2
+ import type { Transport } from '../transport/transport.js';
3
+ import type { Pipeline } from '../pipeline/pipeline.js';
4
+ import type { Logger } from '../core/logger.js';
5
+ /**
6
+ * A Plugin extends the logger's behavior through lifecycle hooks. All hooks
7
+ * are optional. A plugin that needs to transform entries should implement
8
+ * `onEntry`, returning the (possibly new) entry or `null` to drop it.
9
+ */
10
+ export interface Plugin {
11
+ /** Unique plugin name. */
12
+ readonly name: string;
13
+ /** Called once when the plugin is registered (or via `ctx.use`). */
14
+ onInit?(ctx: PluginContext): void | Promise<void>;
15
+ /** Called for every entry before it reaches the pipeline's formatter. */
16
+ onEntry?(entry: LogEntry): LogEntry | null | Promise<LogEntry | null>;
17
+ /** Called when a transport is added (incl. by other plugins). */
18
+ onTransport?(transport: Transport): void;
19
+ /** Called when the plugin is unregistered or the logger is destroyed. */
20
+ onDestroy?(): void | Promise<void>;
21
+ }
22
+ /**
23
+ * Capabilities handed to a plugin so it can reconfigure the logger at runtime.
24
+ * This is the bridge that lets plugins dynamically add/remove transports,
25
+ * reshape the processing pipeline, and even register/unregister other plugins.
26
+ */
27
+ export interface PluginContext {
28
+ /** Add a transport at runtime. */
29
+ addTransport(transport: Transport): void;
30
+ /** Remove a transport by name. */
31
+ removeTransport(name: string): void;
32
+ /** The processing pipeline — add/remove filters & processors, change the formatter. */
33
+ pipeline: Pipeline;
34
+ /** Register another plugin at runtime. */
35
+ use(plugin: Plugin): Promise<void>;
36
+ /** Unregister a plugin by name. */
37
+ unregisterPlugin(name: string): void;
38
+ /** The owning logger (e.g. to call `setLevel`). */
39
+ logger: Logger;
40
+ }
41
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,MAAM,CAAC,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,yEAAyE;IACzE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACtE,iEAAiE;IACjE,WAAW,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,yEAAyE;IACzE,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,kCAAkC;IAClC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uFAAuF;IACvF,QAAQ,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,mCAAmC;IACnC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugin/plugin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ import type { Transport } from '../transport/transport.js';
2
+ import type { LogEntry } from '../types.js';
3
+ /**
4
+ * Supported runtime environments:
5
+ * - `web` : browsers, no filesystem / process id.
6
+ * - `node` : plain Node.js (CLI / server), has filesystem and process id.
7
+ * - `electron` : Electron, further differentiated by {@link processType}.
8
+ */
9
+ export type RuntimeName = 'web' | 'node' | 'electron';
10
+ /**
11
+ * For Electron, whether we run in the main process (owns the filesystem) or a
12
+ * renderer process (sandboxed, console only by default).
13
+ */
14
+ export type ElectronProcessType = 'main' | 'renderer';
15
+ /** Callback that feeds a received entry back into a logger. */
16
+ export type IngestFn = (entry: LogEntry) => void;
17
+ /**
18
+ * Host lifecycle hooks. A runtime implements these to tell the logger *when*
19
+ * it should flush pending entries before the host goes away (process exit,
20
+ * page unload, app quit) and *when* a fatal, uncaught host error occurs.
21
+ *
22
+ * The logger supplies the actual flush/fatal behaviour (and its timeout
23
+ * safety); the runtime owns the trigger and any host-specific exit semantics
24
+ * (e.g. `process.exit` on a signal, or simply letting the browser unload).
25
+ * This keeps {@link Logger} runtime-agnostic — it never references `process`
26
+ * or `window` directly.
27
+ */
28
+ export interface LifecycleHooks {
29
+ /**
30
+ * Register `cb` to run when the host is about to exit/close. The runtime
31
+ * decides the actual trigger (Node/Electron `process` `beforeExit`/signals,
32
+ * Web `pagehide`/`visibilitychange`, Electron `app` `before-quit`) and owns
33
+ * any `process.exit()` it needs. Returns an unregister function; a no-op
34
+ * host returns a no-op detach.
35
+ */
36
+ onFlushBeforeExit(cb: () => void | Promise<void>): () => void;
37
+ /**
38
+ * Register `cb` for fatal, uncaught host errors (Node/Electron
39
+ * `uncaughtException` / `unhandledRejection`). Optional — omit it on runtimes
40
+ * with no such concept (e.g. web). Returns an unregister function.
41
+ */
42
+ onUncaughtError?(cb: (err: unknown) => void): () => void;
43
+ }
44
+ /**
45
+ * RuntimeAdapter isolates differences between the Web, Node.js and Electron
46
+ * environments: time source, process id, filesystem availability and the set
47
+ * of transports enabled by default.
48
+ */
49
+ export interface RuntimeAdapter {
50
+ readonly name: RuntimeName;
51
+ /** `main` / `renderer` for Electron, otherwise `undefined`. */
52
+ readonly processType?: ElectronProcessType;
53
+ /** Current epoch milliseconds. */
54
+ now(): number;
55
+ /** Process id when available (Electron main / Node). */
56
+ pid(): number | undefined;
57
+ /** Whether persistent local file storage is available. */
58
+ hasFileSystem(): boolean;
59
+ /** Transports enabled by default for this runtime. */
60
+ defaultTransports(): Transport[];
61
+ /**
62
+ * For Electron main process: register a receiver that forwards entries sent
63
+ * by renderer processes (via IPC) into the host logger. Returns an
64
+ * unregister function. Undefined when not applicable.
65
+ */
66
+ attachReceiver?: (ingest: IngestFn) => () => void;
67
+ /**
68
+ * Cross-process level-setting callback. When set on the runtime, any
69
+ * `setLevel` call from a child process will invoke this with the new level.
70
+ * Undefined when not applicable.
71
+ */
72
+ onLevelCommand?: (level: number) => void;
73
+ /**
74
+ * Host lifecycle hooks. When present, the logger wires its flush-on-exit and
75
+ * crash-logging behaviour through these instead of touching `process` /
76
+ * `window` itself. Omit (or leave `undefined`) on runtimes where the logger
77
+ * should not react to host lifecycle.
78
+ */
79
+ lifecycle?: LifecycleHooks;
80
+ }
81
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/runtime/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;IAC9D;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC1D;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,kCAAkC;IAClC,GAAG,IAAI,MAAM,CAAC;IACd,wDAAwD;IACxD,GAAG,IAAI,MAAM,GAAG,SAAS,CAAC;IAC1B,0DAA0D;IAC1D,aAAa,IAAI,OAAO,CAAC;IACzB,sDAAsD;IACtD,iBAAiB,IAAI,SAAS,EAAE,CAAC;IACjC;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,IAAI,CAAC;IAClD;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/runtime/adapter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Sensible disk-safety defaults for the built-in runtimes' default
3
+ * `FileTransport` (mode `rotate-time`, daily). A zero-config logger must never
4
+ * eat the disk, so the defaults bound every growth axis:
5
+ *
6
+ * - `maxSize` caps each file (the global caps never delete the active file,
7
+ * so the active file needs its own limit);
8
+ * - `maxFiles` keeps roughly two weeks of daily buckets;
9
+ * - `maxTotalSize` is the absolute disk ceiling (~200 MB) even if a single
10
+ * day produces far more data.
11
+ *
12
+ * Every value can be overridden via `fileTransportOptions`; passing `undefined`
13
+ * keeps the default, while explicit values replace it.
14
+ */
15
+ /** Max bytes per file: 10 MB. */
16
+ export declare const DEFAULT_MAX_FILE_SIZE: number;
17
+ /** Max daily buckets kept: 14 (about two weeks). */
18
+ export declare const DEFAULT_MAX_FILES = 14;
19
+ /** Absolute disk ceiling for all owned files: 200 MB. */
20
+ export declare const DEFAULT_MAX_TOTAL_SIZE: number;
21
+ /** Default caps merged into the runtimes' default `FileTransport` options. */
22
+ export declare const DEFAULT_FILE_CAPS: {
23
+ readonly maxSize: number;
24
+ readonly maxFiles: 14;
25
+ readonly maxTotalSize: number;
26
+ };
27
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/runtime/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iCAAiC;AACjC,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AACtD,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AAExD,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * Sensible disk-safety defaults for the built-in runtimes' default
4
+ * `FileTransport` (mode `rotate-time`, daily). A zero-config logger must never
5
+ * eat the disk, so the defaults bound every growth axis:
6
+ *
7
+ * - `maxSize` caps each file (the global caps never delete the active file,
8
+ * so the active file needs its own limit);
9
+ * - `maxFiles` keeps roughly two weeks of daily buckets;
10
+ * - `maxTotalSize` is the absolute disk ceiling (~200 MB) even if a single
11
+ * day produces far more data.
12
+ *
13
+ * Every value can be overridden via `fileTransportOptions`; passing `undefined`
14
+ * keeps the default, while explicit values replace it.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DEFAULT_FILE_CAPS = exports.DEFAULT_MAX_TOTAL_SIZE = exports.DEFAULT_MAX_FILES = exports.DEFAULT_MAX_FILE_SIZE = void 0;
18
+ /** Max bytes per file: 10 MB. */
19
+ exports.DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
20
+ /** Max daily buckets kept: 14 (about two weeks). */
21
+ exports.DEFAULT_MAX_FILES = 14;
22
+ /** Absolute disk ceiling for all owned files: 200 MB. */
23
+ exports.DEFAULT_MAX_TOTAL_SIZE = 200 * 1024 * 1024;
24
+ /** Default caps merged into the runtimes' default `FileTransport` options. */
25
+ exports.DEFAULT_FILE_CAPS = {
26
+ maxSize: exports.DEFAULT_MAX_FILE_SIZE,
27
+ maxFiles: exports.DEFAULT_MAX_FILES,
28
+ maxTotalSize: exports.DEFAULT_MAX_TOTAL_SIZE,
29
+ };
30
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/runtime/defaults.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,iCAAiC;AACpB,QAAA,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACtD,oDAAoD;AACvC,QAAA,iBAAiB,GAAG,EAAE,CAAC;AACpC,yDAAyD;AAC5C,QAAA,sBAAsB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAExD,8EAA8E;AACjE,QAAA,iBAAiB,GAAG;IAC/B,OAAO,EAAE,6BAAqB;IAC9B,QAAQ,EAAE,yBAAiB;IAC3B,YAAY,EAAE,8BAAsB;CAC5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Type of the `electron` module as returned by `require('electron')`. Mirrors
3
+ * the real binding (`Electron.CrossProcessExports`) so the web/browser swap
4
+ * stays type-compatible.
5
+ */
6
+ export type ElectronModule = typeof Electron.CrossProcessExports;
7
+ export declare function isElectronProcess(): boolean;
8
+ export declare function getElectron(): ElectronModule;
9
+ export declare function getElectronApp(): undefined;
10
+ //# sourceMappingURL=electron-binding.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-binding.browser.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron-binding.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,QAAQ,CAAC,mBAAmB,CAAC;AAKjE,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,WAAW,IAAI,cAAc,CAE5C;AAED,wBAAgB,cAAc,IAAI,SAAS,CAE1C"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isElectronProcess = isElectronProcess;
4
+ exports.getElectron = getElectron;
5
+ exports.getElectronApp = getElectronApp;
6
+ // Browser stub: the real `electron` module (and its binary) is never available
7
+ // in a web bundle. `package.json`'s `browser` field maps the runtime binding to
8
+ // this module so web builds stay free of any `require('electron')`.
9
+ function isElectronProcess() {
10
+ return false;
11
+ }
12
+ function getElectron() {
13
+ throw new Error('electron is not available in browser builds');
14
+ }
15
+ function getElectronApp() {
16
+ return undefined;
17
+ }
18
+ //# sourceMappingURL=electron-binding.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-binding.browser.js","sourceRoot":"","sources":["../../../src/runtime/electron-binding.browser.ts"],"names":[],"mappings":";;AAUA,8CAEC;AAED,kCAEC;AAED,wCAEC;AAbD,+EAA+E;AAC/E,gFAAgF;AAChF,oEAAoE;AACpE,SAAgB,iBAAiB;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,WAAW;IACzB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,cAAc;IAC5B,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { App } from 'electron';
2
+ /**
3
+ * Type of the `electron` module as returned by `require('electron')`. We use
4
+ * electron's own `Electron.CrossProcessExports` type so we stay in sync with
5
+ * the real API without hand-writing interfaces.
6
+ */
7
+ export type ElectronModule = typeof Electron.CrossProcessExports;
8
+ /** True when running inside an Electron process. */
9
+ export declare function isElectronProcess(): boolean;
10
+ /**
11
+ * Resolve the `electron` module. This is the **only** place in the library
12
+ * that performs `require('electron')`, so a web bundler can swap this whole
13
+ * module for `electron-binding.browser` (via package.json `browser`) and never
14
+ * touch the Electron binary.
15
+ */
16
+ export declare function getElectron(): ElectronModule;
17
+ /**
18
+ * Resolve the Electron `app` instance. Only meaningful inside a real Electron
19
+ * process; returns `undefined` when Electron is absent or `app` can't be read
20
+ * (e.g. a renderer process, or a bundler that stripped `electron`). This is the
21
+ * runtime layer's single entry point for `app`-level lifecycle wiring.
22
+ */
23
+ export declare function getElectronApp(): App | undefined;
24
+ //# sourceMappingURL=electron-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-binding.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron-binding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,QAAQ,CAAC,mBAAmB,CAAC;AAIjE,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,cAAc,CAc5C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,GAAG,GAAG,SAAS,CAOhD"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isElectronProcess = isElectronProcess;
4
+ exports.getElectron = getElectron;
5
+ exports.getElectronApp = getElectronApp;
6
+ let cached;
7
+ /** True when running inside an Electron process. */
8
+ function isElectronProcess() {
9
+ return (typeof process !== 'undefined' &&
10
+ !!process.versions?.electron);
11
+ }
12
+ /**
13
+ * Resolve the `electron` module. This is the **only** place in the library
14
+ * that performs `require('electron')`, so a web bundler can swap this whole
15
+ * module for `electron-binding.browser` (via package.json `browser`) and never
16
+ * touch the Electron binary.
17
+ */
18
+ function getElectron() {
19
+ if (cached !== undefined) {
20
+ if (cached === null) {
21
+ throw new Error('electron is only available inside an Electron process');
22
+ }
23
+ return cached;
24
+ }
25
+ if (!isElectronProcess()) {
26
+ cached = null;
27
+ throw new Error('electron is only available inside an Electron process');
28
+ }
29
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
30
+ cached = require('electron');
31
+ return cached;
32
+ }
33
+ /**
34
+ * Resolve the Electron `app` instance. Only meaningful inside a real Electron
35
+ * process; returns `undefined` when Electron is absent or `app` can't be read
36
+ * (e.g. a renderer process, or a bundler that stripped `electron`). This is the
37
+ * runtime layer's single entry point for `app`-level lifecycle wiring.
38
+ */
39
+ function getElectronApp() {
40
+ if (!isElectronProcess())
41
+ return undefined;
42
+ try {
43
+ return getElectron().app;
44
+ }
45
+ catch {
46
+ return undefined;
47
+ }
48
+ }
49
+ //# sourceMappingURL=electron-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-binding.js","sourceRoot":"","sources":["../../../src/runtime/electron-binding.ts"],"names":[],"mappings":";;AAYA,8CAKC;AAQD,kCAcC;AAQD,wCAOC;AA7CD,IAAI,MAAyC,CAAC;AAE9C,oDAAoD;AACpD,SAAgB,iBAAiB;IAC/B,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,CAAC,CAAE,OAAgD,CAAC,QAAQ,EAAE,QAAQ,CACvE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW;IACzB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,iEAAiE;IACjE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAmB,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,iBAAiB,EAAE;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,WAAW,EAAE,CAAC,GAAG,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { LifecycleHooks } from './adapter.js';
2
+ /**
3
+ * Electron **main process** lifecycle hooks.
4
+ *
5
+ * GUI-driven termination goes through the Electron `app` event surface
6
+ * (`before-quit` / `will-quit`) rather than Node's `process` events, which do
7
+ * not fire on a normal window close. We flush pending entries on those events,
8
+ * mirroring the existing Node `beforeExit` semantics (fire-and-forget, bounded
9
+ * by the logger's flush timeout). When `app` is unavailable (e.g. a plain Node
10
+ * host, or a test runtime), we fall back to the process-based hooks so the
11
+ * behaviour degrades gracefully.
12
+ *
13
+ * Uncaught-error handling stays on `process` (`uncaughtException` /
14
+ * `unhandledRejection`) — those are still the right surface inside Electron.
15
+ */
16
+ export declare function createElectronLifecycle(): LifecycleHooks;
17
+ //# sourceMappingURL=electron-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtime/electron-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,IAAI,cAAc,CA4BxD"}