@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
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Measure = Measure;
4
+ const log_common_1 = require("@spinajs/log-common");
5
+ /**
6
+ * Method decorator that times the wrapped method via {@link Perf.measure}. Name
7
+ * defaults to `${ClassName}.${method}`. Works for sync and async methods ( the
8
+ * facade awaits a returned thenable ). Uses the same legacy-decorator signature
9
+ * as the rest of the framework ( `experimentalDecorators` ).
10
+ */
11
+ function Measure(name, opts) {
12
+ return function (target, propertyKey, descriptor) {
13
+ const original = descriptor.value;
14
+ const metricName = name ?? `${target.constructor.name}.${String(propertyKey)}`;
15
+ descriptor.value = function (...args) {
16
+ return log_common_1.Perf.measure(metricName, () => original.apply(this, args), opts);
17
+ };
18
+ return descriptor;
19
+ };
20
+ }
21
+ //# sourceMappingURL=measure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure.js","sourceRoot":"","sources":["../../../src/perf/measure.ts"],"names":[],"mappings":";;AAQA,0BASC;AAjBD,oDAAyD;AAEzD;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,IAAa,EAAE,IAAmB;IACxD,OAAO,UAAU,MAAc,EAAE,WAA4B,EAAE,UAA8B;QAC3F,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAwC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,IAAI,GAAI,MAA4C,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACtH,UAAU,CAAC,KAAK,GAAG,UAAyB,GAAG,IAAe;YAC5D,OAAO,iBAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Install the per-request perf-scope backend for the node runtime. Reads the
3
+ * `perf` accumulator off the ambient async store ( which IS `req.storage` when
4
+ * http runs an action, so the scope created by the http PerfRollup middleware
5
+ * and mutated during the action is one and the same object ). Called from
6
+ * {@link LogBotstrapper.bootstrap}.
7
+ */
8
+ export declare function wirePerfScope(): void;
9
+ //# sourceMappingURL=perf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../src/perf.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAIpC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wirePerfScope = wirePerfScope;
4
+ const log_common_1 = require("@spinajs/log-common");
5
+ const context_js_1 = require("./context.js");
6
+ /**
7
+ * Install the per-request perf-scope backend for the node runtime. Reads the
8
+ * `perf` accumulator off the ambient async store ( which IS `req.storage` when
9
+ * http runs an action, so the scope created by the http PerfRollup middleware
10
+ * and mutated during the action is one and the same object ). Called from
11
+ * {@link LogBotstrapper.bootstrap}.
12
+ */
13
+ function wirePerfScope() {
14
+ (0, log_common_1.setPerfScopeBackend)({
15
+ get: () => context_js_1.LogContext.active().perf ?? null,
16
+ });
17
+ }
18
+ //# sourceMappingURL=perf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perf.js","sourceRoot":"","sources":["../../src/perf.ts"],"names":[],"mappings":";;AAUA,sCAIC;AAdD,oDAAsE;AACtE,6CAA0C;AAE1C;;;;;;GAMG;AACH,SAAgB,aAAa;IAC3B,IAAA,gCAAmB,EAAC;QAClB,GAAG,EAAE,GAAG,EAAE,CAAE,uBAAU,CAAC,MAAM,EAAE,CAAC,IAA+B,IAAI,IAAI;KACxE,CAAC,CAAC;AACL,CAAC"}
@@ -24,29 +24,153 @@ declare const CONFIGURATION_SCHEMA: {
24
24
  enabled: {
25
25
  type: string;
26
26
  };
27
- path: {
28
- type: string;
29
- };
30
- archivePath: {
31
- type: string;
32
- };
33
- maxSize: {
34
- type: string;
35
- minimum: number;
36
- };
37
- compress: {
38
- type: string;
39
- };
40
- rotate: {
27
+ filters: {
28
+ description: string;
41
29
  type: string;
30
+ items: {
31
+ type: string;
32
+ properties: {
33
+ type: {
34
+ description: string;
35
+ type: string;
36
+ };
37
+ };
38
+ required: string[];
39
+ };
42
40
  };
43
- maxArchiveFiles: {
41
+ options: {
44
42
  type: string;
45
- minimum: number;
43
+ properties: {
44
+ path: {
45
+ description: string;
46
+ type: string;
47
+ };
48
+ archivePath: {
49
+ description: string;
50
+ type: string;
51
+ };
52
+ fs: {
53
+ description: string;
54
+ type: string;
55
+ };
56
+ archiveFs: {
57
+ description: string;
58
+ type: string;
59
+ };
60
+ archiveStrategy: {
61
+ description: string;
62
+ type: string;
63
+ };
64
+ retentionStrategies: {
65
+ description: string;
66
+ type: string;
67
+ items: {
68
+ type: string;
69
+ };
70
+ };
71
+ maxSize: {
72
+ description: string;
73
+ type: string;
74
+ minimum: number;
75
+ };
76
+ compress: {
77
+ description: string;
78
+ type: string;
79
+ };
80
+ rotate: {
81
+ description: string;
82
+ type: string;
83
+ };
84
+ maxBufferSize: {
85
+ description: string;
86
+ type: string;
87
+ minimum: number;
88
+ };
89
+ maxQueueSize: {
90
+ description: string;
91
+ type: string;
92
+ minimum: number;
93
+ };
94
+ maxArchiveFiles: {
95
+ description: string;
96
+ type: string;
97
+ minimum: number;
98
+ };
99
+ maxAge: {
100
+ description: string;
101
+ type: string;
102
+ minimum: number;
103
+ };
104
+ archiveInterval: {
105
+ description: string;
106
+ type: string;
107
+ minimum: number;
108
+ };
109
+ flushInterval: {
110
+ description: string;
111
+ type: string;
112
+ minimum: number;
113
+ };
114
+ };
115
+ required: string[];
46
116
  };
47
- bufferSize: {
117
+ };
118
+ required: string[];
119
+ };
120
+ };
121
+ file: {
122
+ description: string;
123
+ type: string;
124
+ };
125
+ perf: {
126
+ description: string;
127
+ type: string;
128
+ properties: {
129
+ enabled: {
130
+ type: string;
131
+ };
132
+ thresholds: {
133
+ description: string;
134
+ type: string;
135
+ };
136
+ overThresholdLevel: {
137
+ type: string;
138
+ enum: string[];
139
+ };
140
+ underThresholdLevel: {
141
+ type: string;
142
+ enum: string[];
143
+ };
144
+ logCounters: {
145
+ type: string;
146
+ };
147
+ };
148
+ };
149
+ whenRepeated: {
150
+ description: string;
151
+ type: string;
152
+ properties: {
153
+ timeout: {
154
+ description: string;
155
+ type: string;
156
+ minimum: number;
157
+ };
158
+ maxKeys: {
159
+ description: string;
160
+ type: string;
161
+ minimum: number;
162
+ };
163
+ };
164
+ };
165
+ filters: {
166
+ description: string;
167
+ type: string;
168
+ items: {
169
+ type: string;
170
+ properties: {
171
+ type: {
172
+ description: string;
48
173
  type: string;
49
- minimum: number;
50
174
  };
51
175
  };
52
176
  required: string[];
@@ -67,6 +191,11 @@ declare const CONFIGURATION_SCHEMA: {
67
191
  type: string;
68
192
  enum: string[];
69
193
  };
194
+ maxLevel: {
195
+ description: string;
196
+ type: string;
197
+ enum: string[];
198
+ };
70
199
  target: {
71
200
  oneOf: ({
72
201
  type: string;
@@ -78,6 +207,10 @@ declare const CONFIGURATION_SCHEMA: {
78
207
  };
79
208
  })[];
80
209
  };
210
+ final: {
211
+ description: string;
212
+ type: string;
213
+ };
81
214
  };
82
215
  required: string[];
83
216
  };
@@ -1 +1 @@
1
- {"version":3,"file":"log.configuration.d.ts","sourceRoot":"","sources":["../../../src/schemas/log.configuration.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"log.configuration.d.ts","sourceRoot":"","sources":["../../../src/schemas/log.configuration.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0PzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -26,32 +26,147 @@ const CONFIGURATION_SCHEMA = {
26
26
  enabled: {
27
27
  type: "boolean",
28
28
  },
29
- path: {
30
- type: "string",
31
- },
32
- archivePath: {
33
- type: "string",
34
- },
35
- maxSize: {
36
- type: "integer",
37
- minimum: 10000,
29
+ filters: {
30
+ description: "Per-target filter pipeline, applied only when writing to THIS target ( after the logger-level filters ). Each item is { type, ...opts } where `type` is the DI name of a LogFilter. Any returning null drops the entry for this target only.",
31
+ type: "array",
32
+ items: {
33
+ type: "object",
34
+ properties: {
35
+ type: {
36
+ description: "DI string name of the registered LogFilter.",
37
+ type: "string",
38
+ },
39
+ },
40
+ required: ["type"],
41
+ },
38
42
  },
39
- compress: {
40
- type: "boolean",
43
+ // FileTarget options ( nested under `options` )
44
+ options: {
45
+ type: "object",
46
+ properties: {
47
+ path: {
48
+ description: "Active log path, relative to the `fs` provider base path. Variables allowed.",
49
+ type: "string",
50
+ },
51
+ archivePath: {
52
+ description: "Archive directory, relative to the `archiveFs` provider base path. Variables allowed.",
53
+ type: "string",
54
+ },
55
+ fs: {
56
+ description: "Registered @spinajs/fs provider for the active log. Defaults to 'fs-log-default'.",
57
+ type: "string",
58
+ },
59
+ archiveFs: {
60
+ description: "Registered @spinajs/fs provider archives are moved to. Defaults to `fs`.",
61
+ type: "string",
62
+ },
63
+ archiveStrategy: {
64
+ description: "LogArchiveStrategy class name deciding WHEN to rotate. Default 'SizeLogArchiveStrategy'.",
65
+ type: "string",
66
+ },
67
+ retentionStrategies: {
68
+ description: "LogRetentionStrategy class names applied in order after rotation. Default ['CountLogRetentionStrategy'].",
69
+ type: "array",
70
+ items: {
71
+ type: "string",
72
+ },
73
+ },
74
+ maxSize: {
75
+ description: "Max active log size in bytes before rotation.",
76
+ type: "integer",
77
+ minimum: 1,
78
+ },
79
+ compress: {
80
+ description: "Zip the archived file when moved to the archive.",
81
+ type: "boolean",
82
+ },
83
+ rotate: {
84
+ description: "Cron expression for CronLogArchiveStrategy ( 6-field with seconds ).",
85
+ type: "string",
86
+ },
87
+ maxBufferSize: {
88
+ description: "Max buffered messages before a flush.",
89
+ type: "integer",
90
+ minimum: 1,
91
+ },
92
+ maxQueueSize: {
93
+ description: "Hard cap on buffered messages; oldest are dropped past this so a down sink cannot OOM.",
94
+ type: "integer",
95
+ minimum: 1,
96
+ },
97
+ maxArchiveFiles: {
98
+ description: "How many archives to keep ( CountLogRetentionStrategy ). Oldest are deleted.",
99
+ type: "integer",
100
+ minimum: 1,
101
+ },
102
+ maxAge: {
103
+ description: "Max archive age in seconds ( AgeLogRetentionStrategy ).",
104
+ type: "integer",
105
+ minimum: 1,
106
+ },
107
+ archiveInterval: {
108
+ description: "Interval in seconds SizeLogArchiveStrategy checks the active log size.",
109
+ type: "integer",
110
+ minimum: 1,
111
+ },
112
+ flushInterval: {
113
+ description: "Periodic flush tick in milliseconds for a partially filled buffer.",
114
+ type: "integer",
115
+ minimum: 1,
116
+ },
117
+ },
118
+ required: ["path"],
41
119
  },
42
- rotate: {
120
+ },
121
+ required: ["name", "type"],
122
+ },
123
+ },
124
+ file: {
125
+ description: "Default FileTarget options ( buffer / rotation / retention tunables ) merged UNDER every file target's own `options`. Shipped by @spinajs/log ( see logger.file defaults ) and overridable by user config.",
126
+ type: "object",
127
+ },
128
+ perf: {
129
+ description: "Performance-instrumentation ( Perf facade ) options for the default LogMetricSink.",
130
+ type: "object",
131
+ properties: {
132
+ enabled: { type: "boolean" },
133
+ thresholds: {
134
+ description: "Per-metric-name slow threshold in ms. A name not present falls back to `default`; 0 means never slow.",
135
+ type: "object",
136
+ },
137
+ overThresholdLevel: { type: "string", enum: ["trace", "debug", "info", "warn", "error"] },
138
+ underThresholdLevel: { type: "string", enum: ["trace", "debug", "info", "warn", "error"] },
139
+ logCounters: { type: "boolean" },
140
+ },
141
+ },
142
+ whenRepeated: {
143
+ description: "Opt-in dedup filter. Collapses identical repeated log entries within a timeout window into one, emitting a (xN) count when logging resumes. Off when absent; global for now.",
144
+ type: "object",
145
+ properties: {
146
+ timeout: {
147
+ description: "Suppression window in SECONDS. Identical entries within this window are collapsed. Default 10.",
148
+ type: "integer",
149
+ minimum: 1,
150
+ },
151
+ maxKeys: {
152
+ description: "Hard cap on tracked keys; the map self-prunes ( expired first, then oldest ) so memory stays bounded. Default 1024.",
153
+ type: "integer",
154
+ minimum: 1,
155
+ },
156
+ },
157
+ },
158
+ filters: {
159
+ description: "Composable per-logger filter pipeline. Each item is { type, ...opts } where `type` is the DI name of a LogFilter ( eg. LevelFilter, MatchFilter, RateLimitFilter, WhenRepeatedFilter ). Filters run in order in write(); any returning null drops the entry.",
160
+ type: "array",
161
+ items: {
162
+ type: "object",
163
+ properties: {
164
+ type: {
165
+ description: "DI string name of the registered LogFilter.",
43
166
  type: "string",
44
167
  },
45
- maxArchiveFiles: {
46
- type: "integer",
47
- minimum: 1,
48
- },
49
- bufferSize: {
50
- type: "integer",
51
- minimum: 1000,
52
- },
53
168
  },
54
- required: ["name", "type"],
169
+ required: ["type"],
55
170
  },
56
171
  },
57
172
  rules: {
@@ -78,6 +193,20 @@ const CONFIGURATION_SCHEMA = {
78
193
  "success",
79
194
  ],
80
195
  },
196
+ maxLevel: {
197
+ description: "Optional INCLUSIVE upper bound of the level window this rule routes. With `level` as the lower bound, only entries in [level, maxLevel] are routed. Defaults to the highest level ( security ).",
198
+ type: "string",
199
+ enum: [
200
+ "trace",
201
+ "debug",
202
+ "warn",
203
+ "info",
204
+ "error",
205
+ "fatal",
206
+ "security",
207
+ "success",
208
+ ],
209
+ },
81
210
  target: {
82
211
  oneOf: [
83
212
  {
@@ -91,6 +220,10 @@ const CONFIGURATION_SCHEMA = {
91
220
  },
92
221
  ],
93
222
  },
223
+ final: {
224
+ description: "Stop evaluating further rules for a logger once this matching rule is applied ( NLog-style ). Earlier matched rules and this one still apply.",
225
+ type: "boolean",
226
+ },
94
227
  },
95
228
  required: ["name", "level", "target"],
96
229
  },
@@ -1 +1 @@
1
- {"version":3,"file":"log.configuration.js","sourceRoot":"","sources":["../../../src/schemas/log.configuration.ts"],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,GAAG;IAC3B,GAAG,EAAE,uCAAuC;IAC5C,oBAAoB,EAAE,QAAQ;IAC9B,WAAW,EAAE,wCAAwC;IACrD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE;YACP,WAAW,EACT,wEAAwE;YAC1E,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;qBAChB;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;qBACf;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,KAAK;qBACf;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;qBACf;oBACD,eAAe,EAAE;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,CAAC;qBACX;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;aAC3B;SACF;QACD,KAAK,EAAE;YACL,WAAW,EAAE,2CAA2C;YACxD,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE;4BACJ,OAAO;4BACP,OAAO;4BACP,MAAM;4BACN,MAAM;4BACN,OAAO;4BACP,OAAO;4BACP,UAAU;4BACV,SAAS;yBACV;qBACF;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,QAAQ;6BACf;4BACD;gCACE,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;iCACf;6BACF;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;aACtC;SACF;KACF;CACF,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"log.configuration.js","sourceRoot":"","sources":["../../../src/schemas/log.configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { IColoredConsoleTargetOptions, ILogEntry, LogTarget } from "@spinajs/log-common";
2
+ /**
3
+ * Browser counterpart of ColoredConsoleTarget: same "ConsoleTarget" DI name so
4
+ * existing logger configs resolve it unchanged, but no chalk (Node-only) — the
5
+ * browser devtools console provides its own styling per console method.
6
+ *
7
+ * Registered ONLY by the browser entry (index.browser.ts); never add it to
8
+ * targets/index.ts or it would fight ColoredConsoleTarget over "ConsoleTarget"
9
+ * on Node.
10
+ */
11
+ export declare class BrowserConsoleTarget extends LogTarget<IColoredConsoleTargetOptions> {
12
+ protected StdConsoleCallbackMap: {
13
+ 5: {
14
+ (...data: any[]): void;
15
+ (message?: any, ...optionalParams: any[]): void;
16
+ };
17
+ 6: {
18
+ (...data: any[]): void;
19
+ (message?: any, ...optionalParams: any[]): void;
20
+ };
21
+ 999: {
22
+ (...data: any[]): void;
23
+ (message?: any, ...optionalParams: any[]): void;
24
+ };
25
+ 2: {
26
+ (...data: any[]): void;
27
+ (message?: any, ...optionalParams: any[]): void;
28
+ };
29
+ 3: {
30
+ (...data: any[]): void;
31
+ (message?: any, ...optionalParams: any[]): void;
32
+ };
33
+ 0: {
34
+ (...data: any[]): void;
35
+ (message?: any, ...optionalParams: any[]): void;
36
+ };
37
+ 1: {
38
+ (...data: any[]): void;
39
+ (message?: any, ...optionalParams: any[]): void;
40
+ };
41
+ 4: {
42
+ (...data: any[]): void;
43
+ (message?: any, ...optionalParams: any[]): void;
44
+ };
45
+ };
46
+ write(data: ILogEntry): Promise<void>;
47
+ }
48
+ //# sourceMappingURL=BrowserConsoleTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserConsoleTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/BrowserConsoleTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,SAAS,EAET,SAAS,EACV,MAAM,qBAAqB,CAAC;AAI7B;;;;;;;;GAQG;AACH,qBAEa,oBAAqB,SAAQ,SAAS,CAAC,4BAA4B,CAAC;IAC/E,SAAS,CAAC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAY7B;IAEW,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CASnD"}
@@ -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.BrowserConsoleTarget = void 0;
10
+ const log_common_1 = require("@spinajs/log-common");
11
+ const di_1 = require("@spinajs/di");
12
+ const configuration_common_1 = require("@spinajs/configuration-common");
13
+ /**
14
+ * Browser counterpart of ColoredConsoleTarget: same "ConsoleTarget" DI name so
15
+ * existing logger configs resolve it unchanged, but no chalk (Node-only) — the
16
+ * browser devtools console provides its own styling per console method.
17
+ *
18
+ * Registered ONLY by the browser entry (index.browser.ts); never add it to
19
+ * targets/index.ts or it would fight ColoredConsoleTarget over "ConsoleTarget"
20
+ * on Node.
21
+ */
22
+ let BrowserConsoleTarget = class BrowserConsoleTarget extends log_common_1.LogTarget {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.StdConsoleCallbackMap = {
26
+ [log_common_1.LogLevel.Error]: console.error,
27
+ [log_common_1.LogLevel.Fatal]: console.error,
28
+ [log_common_1.LogLevel.Security]: console.error,
29
+ [log_common_1.LogLevel.Info]: console.log,
30
+ [log_common_1.LogLevel.Success]: console.log,
31
+ [log_common_1.LogLevel.Trace]: console.debug,
32
+ [log_common_1.LogLevel.Debug]: console.debug,
33
+ [log_common_1.LogLevel.Warn]: console.warn,
34
+ };
35
+ }
36
+ async write(data) {
37
+ if (!this.Options.enabled) {
38
+ return;
39
+ }
40
+ this.StdConsoleCallbackMap[data.Level]((0, configuration_common_1.format)(data.Variables, this.Options.layout));
41
+ }
42
+ };
43
+ exports.BrowserConsoleTarget = BrowserConsoleTarget;
44
+ exports.BrowserConsoleTarget = BrowserConsoleTarget = __decorate([
45
+ (0, di_1.Singleton)(),
46
+ (0, di_1.Injectable)("ConsoleTarget")
47
+ ], BrowserConsoleTarget);
48
+ //# sourceMappingURL=BrowserConsoleTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserConsoleTarget.js","sourceRoot":"","sources":["../../../src/targets/BrowserConsoleTarget.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAK6B;AAC7B,oCAAoD;AACpD,wEAAuD;AAEvD;;;;;;;;GAQG;AAGI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,sBAAuC;IAA1E;;QACK,0BAAqB,GAAG;YAChC,CAAC,qBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;YAC/B,CAAC,qBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;YAC/B,CAAC,qBAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK;YAElC,CAAC,qBAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;YAC5B,CAAC,qBAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG;YAE/B,CAAC,qBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;YAC/B,CAAC,qBAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;YAE/B,CAAC,qBAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI;SAC9B,CAAC;IAWJ,CAAC;IATQ,KAAK,CAAC,KAAK,CAAC,IAAe;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,IAAA,6BAAM,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF,CAAA;AAxBY,oDAAoB;+BAApB,oBAAoB;IAFhC,IAAA,cAAS,GAAE;IACX,IAAA,eAAU,EAAC,eAAe,CAAC;GACf,oBAAoB,CAwBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColoredConsoleTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/ColoredConsoleTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACV,MAAM,qBAAqB,CAAC;AAM7B,eAAO,MAAM,aAAa;;;;;;;;;CASzB,CAAC;AAEF,qBAEa,oBAAqB,SAAQ,SAAS,CAAC,4BAA4B,CAAC;IAC/E,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAM;IAE5B,SAAS,CAAC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAY7B;IAEW,OAAO;IAaP,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAenD"}
1
+ {"version":3,"file":"ColoredConsoleTarget.d.ts","sourceRoot":"","sources":["../../../src/targets/ColoredConsoleTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACV,MAAM,qBAAqB,CAAC;AAmB7B,eAAO,MAAM,aAAa;;;;;;;;;CASzB,CAAC;AAEF,qBAEa,oBAAqB,SAAQ,SAAS,CAAC,4BAA4B,CAAC;IAC/E,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAM;IAE5B,SAAS,CAAC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAY7B;IAEW,OAAO;IAaP,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAenD"}
@@ -5,16 +5,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
8
  Object.defineProperty(exports, "__esModule", { value: true });
12
9
  exports.ColoredConsoleTarget = exports.DEFAULT_THEME = void 0;
13
10
  const log_common_1 = require("@spinajs/log-common");
14
11
  const di_1 = require("@spinajs/di");
15
12
  const index_js_1 = require("./../index.js");
16
- const chalk_1 = __importDefault(require("chalk"));
17
13
  const configuration_1 = require("@spinajs/configuration");
14
+ /**
15
+ * Minimal, dependency-free ANSI colour helpers ( replaces chalk ).
16
+ * Console target is Node-only, so raw escape codes are fine.
17
+ */
18
+ const ANSI_RESET = "\x1b[0m";
19
+ const ansi = (open) => (text) => `${open}${text}${ANSI_RESET}`;
20
+ const gray = ansi("\x1b[90m");
21
+ const white = ansi("\x1b[37m");
22
+ const whiteBgGreen = ansi("\x1b[37m\x1b[42m");
23
+ const yellow = ansi("\x1b[33m");
24
+ const red = ansi("\x1b[31m");
25
+ const whiteBgRed = ansi("\x1b[37m\x1b[41m");
26
+ const yellowBgRed = ansi("\x1b[33m\x1b[41m");
18
27
  exports.DEFAULT_THEME = {
19
28
  security: ["red", "bgBrightWhite"],
20
29
  fatal: "red",
@@ -41,14 +50,14 @@ let ColoredConsoleTarget = class ColoredConsoleTarget extends log_common_1.LogTa
41
50
  };
42
51
  }
43
52
  async resolve() {
44
- this.theme[index_js_1.LogLevel.Trace] = chalk_1.default.gray;
45
- this.theme[index_js_1.LogLevel.Debug] = chalk_1.default.gray;
46
- this.theme[index_js_1.LogLevel.Info] = chalk_1.default.white;
47
- this.theme[index_js_1.LogLevel.Success] = chalk_1.default.white.bgGreen;
48
- this.theme[index_js_1.LogLevel.Warn] = chalk_1.default.yellow;
49
- this.theme[index_js_1.LogLevel.Error] = chalk_1.default.red;
50
- this.theme[index_js_1.LogLevel.Fatal] = chalk_1.default.white.bgRed;
51
- this.theme[index_js_1.LogLevel.Security] = chalk_1.default.yellow.bgRed;
53
+ this.theme[index_js_1.LogLevel.Trace] = gray;
54
+ this.theme[index_js_1.LogLevel.Debug] = gray;
55
+ this.theme[index_js_1.LogLevel.Info] = white;
56
+ this.theme[index_js_1.LogLevel.Success] = whiteBgGreen;
57
+ this.theme[index_js_1.LogLevel.Warn] = yellow;
58
+ this.theme[index_js_1.LogLevel.Error] = red;
59
+ this.theme[index_js_1.LogLevel.Fatal] = whiteBgRed;
60
+ this.theme[index_js_1.LogLevel.Security] = yellowBgRed;
52
61
  super.resolve();
53
62
  }
54
63
  async write(data) {