@spinajs/log 2.0.481 → 2.0.482

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 (304) hide show
  1. package/README.md +744 -0
  2. package/lib/cjs/archive/LogArchiveService.d.ts +75 -0
  3. package/lib/cjs/archive/LogArchiveService.d.ts.map +1 -0
  4. package/lib/cjs/archive/LogArchiveService.js +189 -0
  5. package/lib/cjs/archive/LogArchiveService.js.map +1 -0
  6. package/lib/cjs/archive/archive-strategy.d.ts +32 -0
  7. package/lib/cjs/archive/archive-strategy.d.ts.map +1 -0
  8. package/lib/cjs/archive/archive-strategy.js +43 -0
  9. package/lib/cjs/archive/archive-strategy.js.map +1 -0
  10. package/lib/cjs/archive/context.d.ts +50 -0
  11. package/lib/cjs/archive/context.d.ts.map +1 -0
  12. package/lib/cjs/archive/context.js +3 -0
  13. package/lib/cjs/archive/context.js.map +1 -0
  14. package/lib/cjs/archive/index.d.ts +10 -0
  15. package/lib/cjs/archive/index.d.ts.map +1 -0
  16. package/lib/cjs/archive/index.js +26 -0
  17. package/lib/cjs/archive/index.js.map +1 -0
  18. package/lib/cjs/archive/retention-strategy.d.ts +26 -0
  19. package/lib/cjs/archive/retention-strategy.d.ts.map +1 -0
  20. package/lib/cjs/archive/retention-strategy.js +42 -0
  21. package/lib/cjs/archive/retention-strategy.js.map +1 -0
  22. package/lib/cjs/archive/strategies/AgeLogRetentionStrategy.d.ts +10 -0
  23. package/lib/cjs/archive/strategies/AgeLogRetentionStrategy.d.ts.map +1 -0
  24. package/lib/cjs/archive/strategies/AgeLogRetentionStrategy.js +46 -0
  25. package/lib/cjs/archive/strategies/AgeLogRetentionStrategy.js.map +1 -0
  26. package/lib/cjs/archive/strategies/CountLogRetentionStrategy.d.ts +10 -0
  27. package/lib/cjs/archive/strategies/CountLogRetentionStrategy.d.ts.map +1 -0
  28. package/lib/cjs/archive/strategies/CountLogRetentionStrategy.js +42 -0
  29. package/lib/cjs/archive/strategies/CountLogRetentionStrategy.js.map +1 -0
  30. package/lib/cjs/archive/strategies/CronLogArchiveStrategy.d.ts +15 -0
  31. package/lib/cjs/archive/strategies/CronLogArchiveStrategy.d.ts.map +1 -0
  32. package/lib/cjs/archive/strategies/CronLogArchiveStrategy.js +52 -0
  33. package/lib/cjs/archive/strategies/CronLogArchiveStrategy.js.map +1 -0
  34. package/lib/cjs/archive/strategies/SizeLogArchiveStrategy.d.ts +18 -0
  35. package/lib/cjs/archive/strategies/SizeLogArchiveStrategy.d.ts.map +1 -0
  36. package/lib/cjs/archive/strategies/SizeLogArchiveStrategy.js +63 -0
  37. package/lib/cjs/archive/strategies/SizeLogArchiveStrategy.js.map +1 -0
  38. package/lib/cjs/archive/strategies/util.d.ts +28 -0
  39. package/lib/cjs/archive/strategies/util.d.ts.map +1 -0
  40. package/lib/cjs/archive/strategies/util.js +59 -0
  41. package/lib/cjs/archive/strategies/util.js.map +1 -0
  42. package/lib/cjs/bootstrap.d.ts.map +1 -1
  43. package/lib/cjs/bootstrap.js +24 -1
  44. package/lib/cjs/bootstrap.js.map +1 -1
  45. package/lib/cjs/callsite.d.ts +26 -0
  46. package/lib/cjs/callsite.d.ts.map +1 -0
  47. package/lib/cjs/callsite.js +60 -0
  48. package/lib/cjs/callsite.js.map +1 -0
  49. package/lib/cjs/config/log.d.ts +96 -0
  50. package/lib/cjs/config/log.d.ts.map +1 -0
  51. package/lib/cjs/config/log.js +75 -0
  52. package/lib/cjs/config/log.js.map +1 -0
  53. package/lib/cjs/context.browser.d.ts +46 -0
  54. package/lib/cjs/context.browser.d.ts.map +1 -0
  55. package/lib/cjs/context.browser.js +85 -0
  56. package/lib/cjs/context.browser.js.map +1 -0
  57. package/lib/cjs/context.d.ts +61 -0
  58. package/lib/cjs/context.d.ts.map +1 -0
  59. package/lib/cjs/context.js +92 -0
  60. package/lib/cjs/context.js.map +1 -0
  61. package/lib/cjs/filters/LevelFilter.d.ts +24 -0
  62. package/lib/cjs/filters/LevelFilter.d.ts.map +1 -0
  63. package/lib/cjs/filters/LevelFilter.js +39 -0
  64. package/lib/cjs/filters/LevelFilter.js.map +1 -0
  65. package/lib/cjs/filters/MatchFilter.d.ts +30 -0
  66. package/lib/cjs/filters/MatchFilter.d.ts.map +1 -0
  67. package/lib/cjs/filters/MatchFilter.js +65 -0
  68. package/lib/cjs/filters/MatchFilter.js.map +1 -0
  69. package/lib/cjs/filters/RateLimitFilter.d.ts +37 -0
  70. package/lib/cjs/filters/RateLimitFilter.d.ts.map +1 -0
  71. package/lib/cjs/filters/RateLimitFilter.js +70 -0
  72. package/lib/cjs/filters/RateLimitFilter.js.map +1 -0
  73. package/lib/cjs/filters/index.d.ts +4 -0
  74. package/lib/cjs/filters/index.d.ts.map +1 -0
  75. package/lib/cjs/filters/index.js +20 -0
  76. package/lib/cjs/filters/index.js.map +1 -0
  77. package/lib/cjs/index.browser.d.ts +14 -0
  78. package/lib/cjs/index.browser.d.ts.map +1 -0
  79. package/lib/cjs/index.browser.js +46 -0
  80. package/lib/cjs/index.browser.js.map +1 -0
  81. package/lib/cjs/index.d.ts +8 -0
  82. package/lib/cjs/index.d.ts.map +1 -1
  83. package/lib/cjs/index.js +8 -0
  84. package/lib/cjs/index.js.map +1 -1
  85. package/lib/cjs/log.d.ts +60 -1
  86. package/lib/cjs/log.d.ts.map +1 -1
  87. package/lib/cjs/log.js +294 -32
  88. package/lib/cjs/log.js.map +1 -1
  89. package/lib/cjs/perf/LogMetricSink.d.ts +28 -0
  90. package/lib/cjs/perf/LogMetricSink.d.ts.map +1 -0
  91. package/lib/cjs/perf/LogMetricSink.js +120 -0
  92. package/lib/cjs/perf/LogMetricSink.js.map +1 -0
  93. package/lib/cjs/perf/measure.d.ts +9 -0
  94. package/lib/cjs/perf/measure.d.ts.map +1 -0
  95. package/lib/cjs/perf/measure.js +21 -0
  96. package/lib/cjs/perf/measure.js.map +1 -0
  97. package/lib/cjs/perf.d.ts +9 -0
  98. package/lib/cjs/perf.d.ts.map +1 -0
  99. package/lib/cjs/perf.js +18 -0
  100. package/lib/cjs/perf.js.map +1 -0
  101. package/lib/cjs/schemas/log.configuration.d.ts +151 -18
  102. package/lib/cjs/schemas/log.configuration.d.ts.map +1 -1
  103. package/lib/cjs/schemas/log.configuration.js +154 -21
  104. package/lib/cjs/schemas/log.configuration.js.map +1 -1
  105. package/lib/cjs/targets/BrowserConsoleTarget.d.ts +48 -0
  106. package/lib/cjs/targets/BrowserConsoleTarget.d.ts.map +1 -0
  107. package/lib/cjs/targets/BrowserConsoleTarget.js +48 -0
  108. package/lib/cjs/targets/BrowserConsoleTarget.js.map +1 -0
  109. package/lib/cjs/targets/ColoredConsoleTarget.d.ts.map +1 -1
  110. package/lib/cjs/targets/ColoredConsoleTarget.js +21 -12
  111. package/lib/cjs/targets/ColoredConsoleTarget.js.map +1 -1
  112. package/lib/cjs/targets/FileTarget.d.ts +96 -20
  113. package/lib/cjs/targets/FileTarget.d.ts.map +1 -1
  114. package/lib/cjs/targets/FileTarget.js +188 -225
  115. package/lib/cjs/targets/FileTarget.js.map +1 -1
  116. package/lib/cjs/targets/JsonFileTarget.d.ts +19 -0
  117. package/lib/cjs/targets/JsonFileTarget.d.ts.map +1 -0
  118. package/lib/cjs/targets/JsonFileTarget.js +44 -0
  119. package/lib/cjs/targets/JsonFileTarget.js.map +1 -0
  120. package/lib/cjs/targets/JsonTarget.d.ts +27 -0
  121. package/lib/cjs/targets/JsonTarget.d.ts.map +1 -0
  122. package/lib/cjs/targets/JsonTarget.js +46 -0
  123. package/lib/cjs/targets/JsonTarget.js.map +1 -0
  124. package/lib/cjs/targets/MemoryTarget.d.ts +33 -0
  125. package/lib/cjs/targets/MemoryTarget.d.ts.map +1 -0
  126. package/lib/cjs/targets/MemoryTarget.js +63 -0
  127. package/lib/cjs/targets/MemoryTarget.js.map +1 -0
  128. package/lib/cjs/targets/index.d.ts +7 -0
  129. package/lib/cjs/targets/index.d.ts.map +1 -1
  130. package/lib/cjs/targets/index.js +7 -0
  131. package/lib/cjs/targets/index.js.map +1 -1
  132. package/lib/cjs/targets/wrappers/AutoFlushTarget.d.ts +37 -0
  133. package/lib/cjs/targets/wrappers/AutoFlushTarget.d.ts.map +1 -0
  134. package/lib/cjs/targets/wrappers/AutoFlushTarget.js +48 -0
  135. package/lib/cjs/targets/wrappers/AutoFlushTarget.js.map +1 -0
  136. package/lib/cjs/targets/wrappers/FallbackGroupTarget.d.ts +45 -0
  137. package/lib/cjs/targets/wrappers/FallbackGroupTarget.d.ts.map +1 -0
  138. package/lib/cjs/targets/wrappers/FallbackGroupTarget.js +94 -0
  139. package/lib/cjs/targets/wrappers/FallbackGroupTarget.js.map +1 -0
  140. package/lib/cjs/targets/wrappers/RetryingTarget.d.ts +44 -0
  141. package/lib/cjs/targets/wrappers/RetryingTarget.d.ts.map +1 -0
  142. package/lib/cjs/targets/wrappers/RetryingTarget.js +61 -0
  143. package/lib/cjs/targets/wrappers/RetryingTarget.js.map +1 -0
  144. package/lib/cjs/targets/wrappers/SplitGroupTarget.d.ts +30 -0
  145. package/lib/cjs/targets/wrappers/SplitGroupTarget.d.ts.map +1 -0
  146. package/lib/cjs/targets/wrappers/SplitGroupTarget.js +52 -0
  147. package/lib/cjs/targets/wrappers/SplitGroupTarget.js.map +1 -0
  148. package/lib/cjs/traceparent.d.ts +63 -0
  149. package/lib/cjs/traceparent.d.ts.map +1 -0
  150. package/lib/cjs/traceparent.js +107 -0
  151. package/lib/cjs/traceparent.js.map +1 -0
  152. package/lib/mjs/archive/LogArchiveService.d.ts +75 -0
  153. package/lib/mjs/archive/LogArchiveService.d.ts.map +1 -0
  154. package/lib/mjs/archive/LogArchiveService.js +186 -0
  155. package/lib/mjs/archive/LogArchiveService.js.map +1 -0
  156. package/lib/mjs/archive/archive-strategy.d.ts +32 -0
  157. package/lib/mjs/archive/archive-strategy.d.ts.map +1 -0
  158. package/lib/mjs/archive/archive-strategy.js +39 -0
  159. package/lib/mjs/archive/archive-strategy.js.map +1 -0
  160. package/lib/mjs/archive/context.d.ts +50 -0
  161. package/lib/mjs/archive/context.d.ts.map +1 -0
  162. package/lib/mjs/archive/context.js +2 -0
  163. package/lib/mjs/archive/context.js.map +1 -0
  164. package/lib/mjs/archive/index.d.ts +10 -0
  165. package/lib/mjs/archive/index.d.ts.map +1 -0
  166. package/lib/mjs/archive/index.js +10 -0
  167. package/lib/mjs/archive/index.js.map +1 -0
  168. package/lib/mjs/archive/retention-strategy.d.ts +26 -0
  169. package/lib/mjs/archive/retention-strategy.d.ts.map +1 -0
  170. package/lib/mjs/archive/retention-strategy.js +38 -0
  171. package/lib/mjs/archive/retention-strategy.js.map +1 -0
  172. package/lib/mjs/archive/strategies/AgeLogRetentionStrategy.d.ts +10 -0
  173. package/lib/mjs/archive/strategies/AgeLogRetentionStrategy.d.ts.map +1 -0
  174. package/lib/mjs/archive/strategies/AgeLogRetentionStrategy.js +43 -0
  175. package/lib/mjs/archive/strategies/AgeLogRetentionStrategy.js.map +1 -0
  176. package/lib/mjs/archive/strategies/CountLogRetentionStrategy.d.ts +10 -0
  177. package/lib/mjs/archive/strategies/CountLogRetentionStrategy.d.ts.map +1 -0
  178. package/lib/mjs/archive/strategies/CountLogRetentionStrategy.js +39 -0
  179. package/lib/mjs/archive/strategies/CountLogRetentionStrategy.js.map +1 -0
  180. package/lib/mjs/archive/strategies/CronLogArchiveStrategy.d.ts +15 -0
  181. package/lib/mjs/archive/strategies/CronLogArchiveStrategy.d.ts.map +1 -0
  182. package/lib/mjs/archive/strategies/CronLogArchiveStrategy.js +49 -0
  183. package/lib/mjs/archive/strategies/CronLogArchiveStrategy.js.map +1 -0
  184. package/lib/mjs/archive/strategies/SizeLogArchiveStrategy.d.ts +18 -0
  185. package/lib/mjs/archive/strategies/SizeLogArchiveStrategy.d.ts.map +1 -0
  186. package/lib/mjs/archive/strategies/SizeLogArchiveStrategy.js +60 -0
  187. package/lib/mjs/archive/strategies/SizeLogArchiveStrategy.js.map +1 -0
  188. package/lib/mjs/archive/strategies/util.d.ts +28 -0
  189. package/lib/mjs/archive/strategies/util.d.ts.map +1 -0
  190. package/lib/mjs/archive/strategies/util.js +54 -0
  191. package/lib/mjs/archive/strategies/util.js.map +1 -0
  192. package/lib/mjs/bootstrap.d.ts.map +1 -1
  193. package/lib/mjs/bootstrap.js +25 -2
  194. package/lib/mjs/bootstrap.js.map +1 -1
  195. package/lib/mjs/callsite.d.ts +26 -0
  196. package/lib/mjs/callsite.d.ts.map +1 -0
  197. package/lib/mjs/callsite.js +57 -0
  198. package/lib/mjs/callsite.js.map +1 -0
  199. package/lib/mjs/config/log.d.ts +96 -0
  200. package/lib/mjs/config/log.d.ts.map +1 -0
  201. package/lib/mjs/config/log.js +72 -0
  202. package/lib/mjs/config/log.js.map +1 -0
  203. package/lib/mjs/context.browser.d.ts +46 -0
  204. package/lib/mjs/context.browser.d.ts.map +1 -0
  205. package/lib/mjs/context.browser.js +81 -0
  206. package/lib/mjs/context.browser.js.map +1 -0
  207. package/lib/mjs/context.d.ts +61 -0
  208. package/lib/mjs/context.d.ts.map +1 -0
  209. package/lib/mjs/context.js +88 -0
  210. package/lib/mjs/context.js.map +1 -0
  211. package/lib/mjs/filters/LevelFilter.d.ts +24 -0
  212. package/lib/mjs/filters/LevelFilter.d.ts.map +1 -0
  213. package/lib/mjs/filters/LevelFilter.js +36 -0
  214. package/lib/mjs/filters/LevelFilter.js.map +1 -0
  215. package/lib/mjs/filters/MatchFilter.d.ts +30 -0
  216. package/lib/mjs/filters/MatchFilter.d.ts.map +1 -0
  217. package/lib/mjs/filters/MatchFilter.js +62 -0
  218. package/lib/mjs/filters/MatchFilter.js.map +1 -0
  219. package/lib/mjs/filters/RateLimitFilter.d.ts +37 -0
  220. package/lib/mjs/filters/RateLimitFilter.d.ts.map +1 -0
  221. package/lib/mjs/filters/RateLimitFilter.js +67 -0
  222. package/lib/mjs/filters/RateLimitFilter.js.map +1 -0
  223. package/lib/mjs/filters/index.d.ts +4 -0
  224. package/lib/mjs/filters/index.d.ts.map +1 -0
  225. package/lib/mjs/filters/index.js +4 -0
  226. package/lib/mjs/filters/index.js.map +1 -0
  227. package/lib/mjs/index.browser.d.ts +14 -0
  228. package/lib/mjs/index.browser.d.ts.map +1 -0
  229. package/lib/mjs/index.browser.js +30 -0
  230. package/lib/mjs/index.browser.js.map +1 -0
  231. package/lib/mjs/index.d.ts +8 -0
  232. package/lib/mjs/index.d.ts.map +1 -1
  233. package/lib/mjs/index.js +8 -0
  234. package/lib/mjs/index.js.map +1 -1
  235. package/lib/mjs/log.d.ts +60 -1
  236. package/lib/mjs/log.d.ts.map +1 -1
  237. package/lib/mjs/log.js +295 -33
  238. package/lib/mjs/log.js.map +1 -1
  239. package/lib/mjs/perf/LogMetricSink.d.ts +28 -0
  240. package/lib/mjs/perf/LogMetricSink.d.ts.map +1 -0
  241. package/lib/mjs/perf/LogMetricSink.js +117 -0
  242. package/lib/mjs/perf/LogMetricSink.js.map +1 -0
  243. package/lib/mjs/perf/measure.d.ts +9 -0
  244. package/lib/mjs/perf/measure.d.ts.map +1 -0
  245. package/lib/mjs/perf/measure.js +18 -0
  246. package/lib/mjs/perf/measure.js.map +1 -0
  247. package/lib/mjs/perf.d.ts +9 -0
  248. package/lib/mjs/perf.d.ts.map +1 -0
  249. package/lib/mjs/perf.js +15 -0
  250. package/lib/mjs/perf.js.map +1 -0
  251. package/lib/mjs/schemas/log.configuration.d.ts +151 -18
  252. package/lib/mjs/schemas/log.configuration.d.ts.map +1 -1
  253. package/lib/mjs/schemas/log.configuration.js +154 -21
  254. package/lib/mjs/schemas/log.configuration.js.map +1 -1
  255. package/lib/mjs/targets/BrowserConsoleTarget.d.ts +48 -0
  256. package/lib/mjs/targets/BrowserConsoleTarget.d.ts.map +1 -0
  257. package/lib/mjs/targets/BrowserConsoleTarget.js +45 -0
  258. package/lib/mjs/targets/BrowserConsoleTarget.js.map +1 -0
  259. package/lib/mjs/targets/ColoredConsoleTarget.d.ts.map +1 -1
  260. package/lib/mjs/targets/ColoredConsoleTarget.js +21 -9
  261. package/lib/mjs/targets/ColoredConsoleTarget.js.map +1 -1
  262. package/lib/mjs/targets/FileTarget.d.ts +96 -20
  263. package/lib/mjs/targets/FileTarget.d.ts.map +1 -1
  264. package/lib/mjs/targets/FileTarget.js +191 -192
  265. package/lib/mjs/targets/FileTarget.js.map +1 -1
  266. package/lib/mjs/targets/JsonFileTarget.d.ts +19 -0
  267. package/lib/mjs/targets/JsonFileTarget.d.ts.map +1 -0
  268. package/lib/mjs/targets/JsonFileTarget.js +41 -0
  269. package/lib/mjs/targets/JsonFileTarget.js.map +1 -0
  270. package/lib/mjs/targets/JsonTarget.d.ts +27 -0
  271. package/lib/mjs/targets/JsonTarget.d.ts.map +1 -0
  272. package/lib/mjs/targets/JsonTarget.js +43 -0
  273. package/lib/mjs/targets/JsonTarget.js.map +1 -0
  274. package/lib/mjs/targets/MemoryTarget.d.ts +33 -0
  275. package/lib/mjs/targets/MemoryTarget.d.ts.map +1 -0
  276. package/lib/mjs/targets/MemoryTarget.js +60 -0
  277. package/lib/mjs/targets/MemoryTarget.js.map +1 -0
  278. package/lib/mjs/targets/index.d.ts +7 -0
  279. package/lib/mjs/targets/index.d.ts.map +1 -1
  280. package/lib/mjs/targets/index.js +7 -0
  281. package/lib/mjs/targets/index.js.map +1 -1
  282. package/lib/mjs/targets/wrappers/AutoFlushTarget.d.ts +37 -0
  283. package/lib/mjs/targets/wrappers/AutoFlushTarget.d.ts.map +1 -0
  284. package/lib/mjs/targets/wrappers/AutoFlushTarget.js +45 -0
  285. package/lib/mjs/targets/wrappers/AutoFlushTarget.js.map +1 -0
  286. package/lib/mjs/targets/wrappers/FallbackGroupTarget.d.ts +45 -0
  287. package/lib/mjs/targets/wrappers/FallbackGroupTarget.d.ts.map +1 -0
  288. package/lib/mjs/targets/wrappers/FallbackGroupTarget.js +91 -0
  289. package/lib/mjs/targets/wrappers/FallbackGroupTarget.js.map +1 -0
  290. package/lib/mjs/targets/wrappers/RetryingTarget.d.ts +44 -0
  291. package/lib/mjs/targets/wrappers/RetryingTarget.d.ts.map +1 -0
  292. package/lib/mjs/targets/wrappers/RetryingTarget.js +58 -0
  293. package/lib/mjs/targets/wrappers/RetryingTarget.js.map +1 -0
  294. package/lib/mjs/targets/wrappers/SplitGroupTarget.d.ts +30 -0
  295. package/lib/mjs/targets/wrappers/SplitGroupTarget.d.ts.map +1 -0
  296. package/lib/mjs/targets/wrappers/SplitGroupTarget.js +49 -0
  297. package/lib/mjs/targets/wrappers/SplitGroupTarget.js.map +1 -0
  298. package/lib/mjs/traceparent.d.ts +63 -0
  299. package/lib/mjs/traceparent.d.ts.map +1 -0
  300. package/lib/mjs/traceparent.js +100 -0
  301. package/lib/mjs/traceparent.js.map +1 -0
  302. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  303. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  304. package/package.json +25 -15
@@ -1 +1 @@
1
- {"version":3,"file":"FileTarget.js","sourceRoot":"","sources":["../../../src/targets/FileTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileTarget.js","sourceRoot":"","sources":["../../../src/targets/FileTarget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ILogEntry } from "@spinajs/log-common";
2
+ import { FileTarget } from "./FileTarget.js";
3
+ /**
4
+ * Emits newline-delimited JSON ( NDJSON ) to a file through the FileTarget
5
+ * pipeline ( batched append, write-lock, rotation, retention, zip ): one
6
+ * structured JSON object per log entry so log collectors ( Loki, Elastic,
7
+ * Datadog ) can index fields directly rather than regex-parsing a layout.
8
+ *
9
+ * It subclasses the concrete FileTarget and overrides ONLY the per-entry
10
+ * serialization, reusing IFileTargetOptions unchanged. The inherited `layout`
11
+ * option is intentionally IGNORED ( JSON, not a string layout ). `time` is
12
+ * event-time: it is stamped in formatEntry, which runs in write() before the
13
+ * entry is buffered, so it reflects when the event was logged, not when the
14
+ * batch is flushed to disk.
15
+ */
16
+ export declare class JsonFileTarget extends FileTarget {
17
+ protected formatEntry(data: ILogEntry): string;
18
+ }
19
+ //# sourceMappingURL=JsonFileTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonFileTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/JsonFileTarget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2C,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,qBAEa,cAAe,SAAQ,UAAU;IAC5C,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAW/C"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.JsonFileTarget = void 0;
10
+ const di_1 = require("@spinajs/di");
11
+ const log_common_1 = require("@spinajs/log-common");
12
+ const FileTarget_js_1 = require("./FileTarget.js");
13
+ /**
14
+ * Emits newline-delimited JSON ( NDJSON ) to a file through the FileTarget
15
+ * pipeline ( batched append, write-lock, rotation, retention, zip ): one
16
+ * structured JSON object per log entry so log collectors ( Loki, Elastic,
17
+ * Datadog ) can index fields directly rather than regex-parsing a layout.
18
+ *
19
+ * It subclasses the concrete FileTarget and overrides ONLY the per-entry
20
+ * serialization, reusing IFileTargetOptions unchanged. The inherited `layout`
21
+ * option is intentionally IGNORED ( JSON, not a string layout ). `time` is
22
+ * event-time: it is stamped in formatEntry, which runs in write() before the
23
+ * entry is buffered, so it reflects when the event was logged, not when the
24
+ * batch is flushed to disk.
25
+ */
26
+ let JsonFileTarget = class JsonFileTarget extends FileTarget_js_1.FileTarget {
27
+ formatEntry(data) {
28
+ // data.Variables already carries level ( uppercase string ), logger,
29
+ // message, a structured error ( from the serializer registry ) and any
30
+ // merged fields. safeStringify / JSON.stringify naturally omit undefined
31
+ // ( eg. error when absent ).
32
+ return (0, log_common_1.safeStringify)({
33
+ time: new Date().toISOString(),
34
+ severityNumber: log_common_1.LogLevelToSeverityNumber[data.Level],
35
+ ...data.Variables,
36
+ });
37
+ }
38
+ };
39
+ exports.JsonFileTarget = JsonFileTarget;
40
+ exports.JsonFileTarget = JsonFileTarget = __decorate([
41
+ (0, di_1.PerInstanceCheck)(),
42
+ (0, di_1.Injectable)("JsonFileTarget")
43
+ ], JsonFileTarget);
44
+ //# sourceMappingURL=JsonFileTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonFileTarget.js","sourceRoot":"","sources":["../../../src/targets/JsonFileTarget.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oCAA2D;AAC3D,oDAAyF;AAEzF,mDAA6C;AAE7C;;;;;;;;;;;;GAYG;AAGI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,0BAAU;IAClC,WAAW,CAAC,IAAe;QACnC,qEAAqE;QACrE,uEAAuE;QACvE,yEAAyE;QACzE,6BAA6B;QAC7B,OAAO,IAAA,0BAAa,EAAC;YACnB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,cAAc,EAAE,qCAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;YACpD,GAAG,IAAI,CAAC,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAZY,wCAAc;yBAAd,cAAc;IAF1B,IAAA,qBAAgB,GAAE;IAClB,IAAA,eAAU,EAAC,gBAAgB,CAAC;GAChB,cAAc,CAY1B"}
@@ -0,0 +1,27 @@
1
+ import { ICommonTargetOptions, ILogEntry, LogTarget } from "@spinajs/log-common";
2
+ /**
3
+ * Emits NDJSON ( newline-delimited JSON ) to stdout for machine ingestion:
4
+ * one structured JSON object per log entry instead of a formatted string, so
5
+ * log collectors ( Loki, Elastic, Datadog, container stdout ) can index fields
6
+ * directly rather than regex-parsing a layout.
7
+ *
8
+ * The inherited `layout` option is intentionally IGNORED - JSON is not a string
9
+ * layout. `time` is stamped at write; because this target is synchronous /
10
+ * unbuffered that is ~event time. An event-time-stamped, file-backed variant
11
+ * will come with the batching base in a later phase.
12
+ */
13
+ /**
14
+ * Options for {@link JsonTarget}.
15
+ */
16
+ export interface IJsonTargetOptions extends ICommonTargetOptions {
17
+ /**
18
+ * Which stream to write to. A single stream is the 12-factor norm for machine
19
+ * logs. Default is "stdout".
20
+ */
21
+ stream?: "stdout" | "stderr";
22
+ }
23
+ export declare class JsonTarget extends LogTarget<IJsonTargetOptions> {
24
+ constructor(options: IJsonTargetOptions);
25
+ write(data: ILogEntry): void;
26
+ }
27
+ //# sourceMappingURL=JsonTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/JsonTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAA4B,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAG1H;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC9B;AAED,qBAEa,UAAW,SAAQ,SAAS,CAAC,kBAAkB,CAAC;gBAC/C,OAAO,EAAE,kBAAkB;IAMhC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAoBpC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.JsonTarget = void 0;
13
+ const log_common_1 = require("@spinajs/log-common");
14
+ const di_1 = require("@spinajs/di");
15
+ let JsonTarget = class JsonTarget extends log_common_1.LogTarget {
16
+ constructor(options) {
17
+ super(options);
18
+ this.Options = Object.assign({ stream: "stdout" }, this.Options);
19
+ }
20
+ write(data) {
21
+ if (!this.Options.enabled) {
22
+ return;
23
+ }
24
+ // data.Variables already carries level ( uppercase string ), logger,
25
+ // message, a structured error ( from the serializer registry ), and any
26
+ // merged fields. safeStringify / JSON.stringify naturally omit undefined
27
+ // ( eg. error when absent ).
28
+ const record = { time: new Date().toISOString(), severityNumber: log_common_1.LogLevelToSeverityNumber[data.Level], ...data.Variables };
29
+ const line = (0, log_common_1.safeStringify)(record) + "\n";
30
+ if (typeof process !== "undefined" && process.stdout && typeof process.stdout.write === "function") {
31
+ const out = this.Options.stream === "stderr" && process.stderr ? process.stderr : process.stdout;
32
+ out.write(line);
33
+ }
34
+ else {
35
+ // browser fallback
36
+ console.log(line.replace(/\n$/, ""));
37
+ }
38
+ }
39
+ };
40
+ exports.JsonTarget = JsonTarget;
41
+ exports.JsonTarget = JsonTarget = __decorate([
42
+ (0, di_1.Singleton)(),
43
+ (0, di_1.Injectable)("JsonTarget"),
44
+ __metadata("design:paramtypes", [Object])
45
+ ], JsonTarget);
46
+ //# sourceMappingURL=JsonTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonTarget.js","sourceRoot":"","sources":["../../../src/targets/JsonTarget.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA0H;AAC1H,oCAAoD;AA2B7C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,sBAA6B;IAC3D,YAAY,OAA2B;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,IAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,qCAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3H,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAE1C,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACnG,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACjG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF,CAAA;AA3BY,gCAAU;qBAAV,UAAU;IAFtB,IAAA,cAAS,GAAE;IACX,IAAA,eAAU,EAAC,YAAY,CAAC;;GACZ,UAAU,CA2BtB"}
@@ -0,0 +1,33 @@
1
+ import { ICommonTargetOptions, ILogEntry, LogTarget } from "@spinajs/log-common";
2
+ /**
3
+ * Options for {@link MemoryTarget}.
4
+ */
5
+ export interface IMemoryTargetOptions extends ICommonTargetOptions {
6
+ /**
7
+ * Max number of log entries retained in the ring buffer. Once exceeded, the
8
+ * oldest entries are dropped. Default is 100.
9
+ */
10
+ limit: number;
11
+ }
12
+ /**
13
+ * Ring-buffer target that keeps the last N log entries in memory. Lets a debug
14
+ * / health endpoint or a crash handler read recent log context back in-process
15
+ * ( eg. capturing all levels incl. trace ) without parsing the log file.
16
+ *
17
+ * Pure and browser-safe - no filesystem, no timers, no external deps.
18
+ */
19
+ export declare class MemoryTarget extends LogTarget<IMemoryTargetOptions> {
20
+ protected Buffer: ILogEntry[];
21
+ constructor(options: IMemoryTargetOptions);
22
+ write(data: ILogEntry): void;
23
+ /**
24
+ * Returns a shallow copy of the retained entries ( oldest first ) so callers
25
+ * cannot mutate the ring buffer.
26
+ */
27
+ getRecords(): ILogEntry[];
28
+ /**
29
+ * Empties the buffer.
30
+ */
31
+ clear(): void;
32
+ }
33
+ //# sourceMappingURL=MemoryTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/MemoryTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGjF;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,qBAEa,YAAa,SAAQ,SAAS,CAAC,oBAAoB,CAAC;IAC/D,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAM;gBAEvB,OAAO,EAAE,oBAAoB;IAalC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAcnC;;;OAGG;IACI,UAAU,IAAI,SAAS,EAAE;IAIhC;;OAEG;IACI,KAAK,IAAI,IAAI;CAGrB"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MemoryTarget = void 0;
13
+ const log_common_1 = require("@spinajs/log-common");
14
+ const di_1 = require("@spinajs/di");
15
+ /**
16
+ * Ring-buffer target that keeps the last N log entries in memory. Lets a debug
17
+ * / health endpoint or a crash handler read recent log context back in-process
18
+ * ( eg. capturing all levels incl. trace ) without parsing the log file.
19
+ *
20
+ * Pure and browser-safe - no filesystem, no timers, no external deps.
21
+ */
22
+ let MemoryTarget = class MemoryTarget extends log_common_1.LogTarget {
23
+ constructor(options) {
24
+ super(options);
25
+ this.Buffer = [];
26
+ // apply defaults over the ( already layout-merged ) options, mirroring the
27
+ // Loki target's Object.assign approach.
28
+ this.Options = Object.assign({
29
+ limit: 100,
30
+ }, this.Options);
31
+ }
32
+ write(data) {
33
+ if (!this.Options.enabled) {
34
+ return;
35
+ }
36
+ this.Buffer.push(data);
37
+ // drop oldest while over the cap. splice ( rather than a single shift )
38
+ // handles a limit lowered at runtime, not just push-by-one growth.
39
+ if (this.Buffer.length > this.Options.limit) {
40
+ this.Buffer.splice(0, this.Buffer.length - this.Options.limit);
41
+ }
42
+ }
43
+ /**
44
+ * Returns a shallow copy of the retained entries ( oldest first ) so callers
45
+ * cannot mutate the ring buffer.
46
+ */
47
+ getRecords() {
48
+ return [...this.Buffer];
49
+ }
50
+ /**
51
+ * Empties the buffer.
52
+ */
53
+ clear() {
54
+ this.Buffer = [];
55
+ }
56
+ };
57
+ exports.MemoryTarget = MemoryTarget;
58
+ exports.MemoryTarget = MemoryTarget = __decorate([
59
+ (0, di_1.Singleton)(),
60
+ (0, di_1.Injectable)("MemoryTarget"),
61
+ __metadata("design:paramtypes", [Object])
62
+ ], MemoryTarget);
63
+ //# sourceMappingURL=MemoryTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryTarget.js","sourceRoot":"","sources":["../../../src/targets/MemoryTarget.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiF;AACjF,oCAAoD;AAapD;;;;;;GAMG;AAGI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,sBAA+B;IAG/D,YAAY,OAA6B;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHP,WAAM,GAAgB,EAAE,CAAC;QAKjC,2EAA2E;QAC3E,wCAAwC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAC1B;YACE,KAAK,EAAE,GAAG;SACX,EACD,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAe;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF,CAAA;AA5CY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,cAAS,GAAE;IACX,IAAA,eAAU,EAAC,cAAc,CAAC;;GACd,YAAY,CA4CxB"}
@@ -1,4 +1,11 @@
1
1
  export * from "./BlackHoleTarget.js";
2
2
  export * from "./ColoredConsoleTarget.js";
3
3
  export * from "./FileTarget.js";
4
+ export * from "./JsonFileTarget.js";
5
+ export * from "./JsonTarget.js";
6
+ export * from "./MemoryTarget.js";
7
+ export * from "./wrappers/SplitGroupTarget.js";
8
+ export * from "./wrappers/AutoFlushTarget.js";
9
+ export * from "./wrappers/RetryingTarget.js";
10
+ export * from "./wrappers/FallbackGroupTarget.js";
4
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/targets/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/targets/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC"}
@@ -17,4 +17,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./BlackHoleTarget.js"), exports);
18
18
  __exportStar(require("./ColoredConsoleTarget.js"), exports);
19
19
  __exportStar(require("./FileTarget.js"), exports);
20
+ __exportStar(require("./JsonFileTarget.js"), exports);
21
+ __exportStar(require("./JsonTarget.js"), exports);
22
+ __exportStar(require("./MemoryTarget.js"), exports);
23
+ __exportStar(require("./wrappers/SplitGroupTarget.js"), exports);
24
+ __exportStar(require("./wrappers/AutoFlushTarget.js"), exports);
25
+ __exportStar(require("./wrappers/RetryingTarget.js"), exports);
26
+ __exportStar(require("./wrappers/FallbackGroupTarget.js"), exports);
20
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/targets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,4DAA0C;AAC1C,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/targets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,4DAA0C;AAC1C,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC;AAChC,oDAAkC;AAClC,iEAA+C;AAC/C,gEAA8C;AAC9C,+DAA6C;AAC7C,oEAAkD"}
@@ -0,0 +1,37 @@
1
+ import { ICommonTargetOptions, ILogEntry, ITargetsOption, LogTarget } from "@spinajs/log-common";
2
+ /**
3
+ * Options for {@link AutoFlushTarget}.
4
+ */
5
+ export interface IAutoFlushTargetOptions extends ICommonTargetOptions {
6
+ options: {
7
+ /**
8
+ * Inline child target this wrapper decorates. Resolved through DI exactly
9
+ * like a top-level target.
10
+ */
11
+ target: ITargetsOption;
12
+ /**
13
+ * Severity ( inclusive ) at or above which the inner target is force-flushed
14
+ * right after the entry is written, so a crash-level event is never left
15
+ * buffered. Default `"error"`.
16
+ */
17
+ flushLevel?: string;
18
+ };
19
+ }
20
+ /**
21
+ * Wraps ONE inner target and force-flushes it whenever an entry at or above
22
+ * `flushLevel` ( default error ) is written, so a high-severity / crash-level
23
+ * event is never left sitting in a buffer. The inner target is declared inline
24
+ * and owned by this wrapper ( resolve / flush / dispose ).
25
+ *
26
+ * Pure / browser-safe - just delegates to its child.
27
+ */
28
+ export declare class AutoFlushTarget extends LogTarget<IAutoFlushTargetOptions> {
29
+ protected Inner: LogTarget<ICommonTargetOptions>;
30
+ /** Resolved numeric severity threshold at/above which we force-flush. */
31
+ protected Threshold: number;
32
+ resolve(): void;
33
+ write(entry: ILogEntry): Promise<void>;
34
+ forceFlush(): Promise<void>;
35
+ dispose(): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=AutoFlushTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoFlushTarget.d.ts","sourceRoot":"","sources":["../../../../src/targets/wrappers/AutoFlushTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAGhH;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,OAAO,EAAE;QACP;;;WAGG;QACH,MAAM,EAAE,cAAc,CAAC;QAEvB;;;;WAIG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,qBAEa,eAAgB,SAAQ,SAAS,CAAC,uBAAuB,CAAC;IACrE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAEjD,yEAAyE;IACzE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAErB,OAAO,IAAI,IAAI;IAOT,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AutoFlushTarget = void 0;
10
+ const log_common_1 = require("@spinajs/log-common");
11
+ const di_1 = require("@spinajs/di");
12
+ /**
13
+ * Wraps ONE inner target and force-flushes it whenever an entry at or above
14
+ * `flushLevel` ( default error ) is written, so a high-severity / crash-level
15
+ * event is never left sitting in a buffer. The inner target is declared inline
16
+ * and owned by this wrapper ( resolve / flush / dispose ).
17
+ *
18
+ * Pure / browser-safe - just delegates to its child.
19
+ */
20
+ let AutoFlushTarget = class AutoFlushTarget extends log_common_1.LogTarget {
21
+ resolve() {
22
+ this.Inner = di_1.DI.resolve(this.Options.options.target.type, [this.Options.options.target]);
23
+ this.Threshold = log_common_1.StrToLogLevel[(this.Options.options.flushLevel ?? "error")];
24
+ super.resolve();
25
+ }
26
+ async write(entry) {
27
+ if (!this.Options.enabled) {
28
+ return;
29
+ }
30
+ // wrap in Promise.resolve because some targets' write is sync / void.
31
+ await Promise.resolve(this.Inner.write(entry));
32
+ if (entry.Level >= this.Threshold) {
33
+ await this.Inner.forceFlush();
34
+ }
35
+ }
36
+ forceFlush() {
37
+ return this.Inner.forceFlush();
38
+ }
39
+ async dispose() {
40
+ await this.Inner.dispose?.();
41
+ }
42
+ };
43
+ exports.AutoFlushTarget = AutoFlushTarget;
44
+ exports.AutoFlushTarget = AutoFlushTarget = __decorate([
45
+ (0, di_1.Singleton)(),
46
+ (0, di_1.Injectable)("AutoFlushTarget")
47
+ ], AutoFlushTarget);
48
+ //# sourceMappingURL=AutoFlushTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoFlushTarget.js","sourceRoot":"","sources":["../../../../src/targets/wrappers/AutoFlushTarget.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAgH;AAChH,oCAAwD;AAsBxD;;;;;;;GAOG;AAGI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,sBAAkC;IAM9D,OAAO;QACZ,IAAI,CAAC,KAAK,GAAG,OAAE,CAAC,OAAO,CAAkC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1H,IAAI,CAAC,SAAS,GAAG,0BAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAA+B,CAAC,CAAC;QAE3G,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAO,IAAI,CAAC,KAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IACxC,CAAC;CACF,CAAA;AAjCY,0CAAe;0BAAf,eAAe;IAF3B,IAAA,cAAS,GAAE;IACX,IAAA,eAAU,EAAC,iBAAiB,CAAC;GACjB,eAAe,CAiC3B"}
@@ -0,0 +1,45 @@
1
+ import { ICommonTargetOptions, ILogEntry, ITargetsOption, Log, LogTarget } from "@spinajs/log-common";
2
+ /**
3
+ * Options for {@link FallbackGroupTarget}.
4
+ */
5
+ export interface IFallbackGroupTargetOptions extends ICommonTargetOptions {
6
+ options: {
7
+ /**
8
+ * ORDERED inline child target definitions: the PRIMARY first, then one or
9
+ * more fallbacks. Each is resolved through DI exactly like a top-level
10
+ * target, so any registered target type ( File, Loki, another wrapper ... )
11
+ * can be nested here.
12
+ */
13
+ targets: ITargetsOption[];
14
+ };
15
+ }
16
+ /**
17
+ * Failover wrapper: an ORDERED list of targets ( primary first, fallbacks
18
+ * after ). It handles TWO complementary failure modes so a durable fallback
19
+ * catches exactly what a down primary never delivered — with no duplicates:
20
+ *
21
+ * - **A ( immediate write rejection ).** `write()` tries the primary; if it
22
+ * REJECTS ( see the contract on {@link LogTarget.write} ) it advances to the
23
+ * next target, and so on, resolving on the first success. If every target
24
+ * rejects the last rejection is swallowed ( warn-only ) so logging never
25
+ * throws into the caller.
26
+ *
27
+ * - **D ( later async drop ).** Self-healing network targets ( Loki / OTLP )
28
+ * RESOLVE `write()` immediately and only later GIVE UP on an entry ( buffer
29
+ * overflow or a non-retryable delivery failure ). resolve() wires each
30
+ * target's {@link LogTarget.OnDropped} hook to the NEXT target's write, so
31
+ * those late drops spill down the chain to the fallback. The last target has
32
+ * no successor, so its OnDropped stays null.
33
+ *
34
+ * The inner targets are declared inline and owned by this wrapper ( resolve /
35
+ * flush / dispose ). Pure / browser-safe - just delegates to its children.
36
+ */
37
+ export declare class FallbackGroupTarget extends LogTarget<IFallbackGroupTargetOptions> {
38
+ protected Log: Log;
39
+ protected Inner: LogTarget<ICommonTargetOptions>[];
40
+ resolve(): void;
41
+ write(entry: ILogEntry): Promise<void>;
42
+ forceFlush(): Promise<void>;
43
+ dispose(): Promise<void>;
44
+ }
45
+ //# sourceMappingURL=FallbackGroupTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FallbackGroupTarget.d.ts","sourceRoot":"","sources":["../../../../src/targets/wrappers/FallbackGroupTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,cAAc,EAAU,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG9G;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,OAAO,EAAE;QACP;;;;;WAKG;QACH,OAAO,EAAE,cAAc,EAAE,CAAC;KAC3B,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAEa,mBAAoB,SAAQ,SAAS,CAAC,2BAA2B,CAAC;IAE7E,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAM;IAEjD,OAAO,IAAI,IAAI;IAoBT,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FallbackGroupTarget = void 0;
13
+ const log_common_1 = require("@spinajs/log-common");
14
+ const di_1 = require("@spinajs/di");
15
+ /**
16
+ * Failover wrapper: an ORDERED list of targets ( primary first, fallbacks
17
+ * after ). It handles TWO complementary failure modes so a durable fallback
18
+ * catches exactly what a down primary never delivered — with no duplicates:
19
+ *
20
+ * - **A ( immediate write rejection ).** `write()` tries the primary; if it
21
+ * REJECTS ( see the contract on {@link LogTarget.write} ) it advances to the
22
+ * next target, and so on, resolving on the first success. If every target
23
+ * rejects the last rejection is swallowed ( warn-only ) so logging never
24
+ * throws into the caller.
25
+ *
26
+ * - **D ( later async drop ).** Self-healing network targets ( Loki / OTLP )
27
+ * RESOLVE `write()` immediately and only later GIVE UP on an entry ( buffer
28
+ * overflow or a non-retryable delivery failure ). resolve() wires each
29
+ * target's {@link LogTarget.OnDropped} hook to the NEXT target's write, so
30
+ * those late drops spill down the chain to the fallback. The last target has
31
+ * no successor, so its OnDropped stays null.
32
+ *
33
+ * The inner targets are declared inline and owned by this wrapper ( resolve /
34
+ * flush / dispose ). Pure / browser-safe - just delegates to its children.
35
+ */
36
+ let FallbackGroupTarget = class FallbackGroupTarget extends log_common_1.LogTarget {
37
+ constructor() {
38
+ super(...arguments);
39
+ this.Inner = [];
40
+ }
41
+ resolve() {
42
+ // resolve each child via DI exactly like FrameworkLogger.resolveLogTargets
43
+ // does - the child's ITargetsOption is passed as the single ctor arg.
44
+ this.Inner = this.Options.options.targets.map((t) => di_1.DI.resolve(t.type, [t]));
45
+ // mechanism D: wire the drop-hook chain. For each consecutive pair, entries
46
+ // target[i] GIVES UP on flow to target[i+1].write. The last target has no
47
+ // fallback -> its OnDropped stays null.
48
+ for (let i = 0; i < this.Inner.length - 1; i++) {
49
+ const next = this.Inner[i + 1];
50
+ this.Inner[i].OnDropped = (entry) => {
51
+ void Promise.resolve(next.write(entry)).catch(() => {
52
+ /* fallback itself gave up - nothing more to do */
53
+ });
54
+ };
55
+ }
56
+ super.resolve();
57
+ }
58
+ async write(entry) {
59
+ if (!this.Options.enabled) {
60
+ return;
61
+ }
62
+ // mechanism A: try each target in order; resolve on the first success. Only
63
+ // advance to the next when the current one REJECTS.
64
+ for (const t of this.Inner) {
65
+ try {
66
+ await Promise.resolve(t.write(entry));
67
+ return;
68
+ }
69
+ catch {
70
+ /* rejected -> try the next fallback */
71
+ }
72
+ }
73
+ // every target rejected - swallow ( warn-only ) so logging never throws.
74
+ this.Log?.warn(`FallbackGroupTarget ${this.Options.name}: all ${this.Inner.length} targets rejected the entry.`);
75
+ }
76
+ forceFlush() {
77
+ return Promise.allSettled(this.Inner.map((t) => t.forceFlush())).then(() => undefined);
78
+ }
79
+ async dispose() {
80
+ // the wrapper owns its children ( they are not in the logger's Targets list )
81
+ // so it drives their teardown.
82
+ await Promise.allSettled(this.Inner.map((t) => t.dispose?.()));
83
+ }
84
+ };
85
+ exports.FallbackGroupTarget = FallbackGroupTarget;
86
+ __decorate([
87
+ (0, log_common_1.Logger)("FallbackGroupTarget"),
88
+ __metadata("design:type", log_common_1.Log)
89
+ ], FallbackGroupTarget.prototype, "Log", void 0);
90
+ exports.FallbackGroupTarget = FallbackGroupTarget = __decorate([
91
+ (0, di_1.Singleton)(),
92
+ (0, di_1.Injectable)("FallbackGroupTarget")
93
+ ], FallbackGroupTarget);
94
+ //# sourceMappingURL=FallbackGroupTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FallbackGroupTarget.js","sourceRoot":"","sources":["../../../../src/targets/wrappers/FallbackGroupTarget.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA8G;AAC9G,oCAAwD;AAiBxD;;;;;;;;;;;;;;;;;;;;GAoBG;AAGI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,sBAAsC;IAAxE;;QAIK,UAAK,GAAsC,EAAE,CAAC;IAmD1D,CAAC;IAjDQ,OAAO;QACZ,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAE,CAAC,OAAO,CAAkC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/G,4EAA4E;QAC5E,0EAA0E;QAC1E,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAgB,EAAE,EAAE;gBAC7C,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACjD,kDAAkD;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,oDAAoD;QACpD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,uBAAuB,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,8BAA8B,CAAC,CAAC;IACnH,CAAC;IAEM,UAAU;QACf,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzF,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,8EAA8E;QAC9E,+BAA+B;QAC/B,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF,CAAA;AAvDY,kDAAmB;AAEpB;IADT,IAAA,mBAAM,EAAC,qBAAqB,CAAC;8BACf,gBAAG;gDAAC;8BAFR,mBAAmB;IAF/B,IAAA,cAAS,GAAE;IACX,IAAA,eAAU,EAAC,qBAAqB,CAAC;GACrB,mBAAmB,CAuD/B"}