@anglr/common 17.0.0 → 18.0.0-beta.20230823095018

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 (274) hide show
  1. package/changelog.md +125 -0
  2. package/es2022/floating-ui/src/services/floatingUiDomPosition.service.js +7 -22
  3. package/es2022/floating-ui/src/services/floatingUiDomPosition.service.js.map +1 -1
  4. package/es2022/src/index.js +4 -3
  5. package/es2022/src/index.js.map +1 -1
  6. package/es2022/src/modules/castPipes/pipes/castType/castType.pipe.js.map +1 -1
  7. package/es2022/src/modules/logger/components/console/console.component.animations.js.map +1 -0
  8. package/es2022/src/modules/logger/components/console/console.component.js +106 -0
  9. package/es2022/src/modules/logger/components/console/console.component.js.map +1 -0
  10. package/es2022/src/modules/logger/components/index.js +3 -0
  11. package/es2022/src/modules/logger/components/index.js.map +1 -0
  12. package/es2022/src/modules/logger/decorators/index.js +2 -0
  13. package/es2022/src/modules/logger/decorators/index.js.map +1 -0
  14. package/es2022/src/modules/logger/decorators/loggerSink.decorator.js +28 -0
  15. package/es2022/src/modules/logger/decorators/loggerSink.decorator.js.map +1 -0
  16. package/es2022/src/modules/logger/index.js +7 -0
  17. package/es2022/src/modules/logger/index.js.map +1 -0
  18. package/es2022/src/modules/logger/interfaces/index.js +7 -0
  19. package/es2022/src/modules/logger/interfaces/index.js.map +1 -0
  20. package/es2022/src/modules/logger/interfaces/loggerConfiguration.interface.js +2 -0
  21. package/es2022/src/modules/logger/interfaces/loggerConfiguration.interface.js.map +1 -0
  22. package/es2022/src/modules/logger/interfaces/loggerConsoleComponent.interface.js +2 -0
  23. package/es2022/src/modules/logger/interfaces/loggerConsoleComponent.interface.js.map +1 -0
  24. package/es2022/src/modules/logger/interfaces/loggerEnricher.interface.js +2 -0
  25. package/es2022/src/modules/logger/interfaces/loggerEnricher.interface.js.map +1 -0
  26. package/es2022/src/modules/logger/interfaces/loggerFilter.interface.js +2 -0
  27. package/es2022/src/modules/logger/interfaces/loggerFilter.interface.js.map +1 -0
  28. package/es2022/src/modules/logger/interfaces/loggerRest.interface.js +2 -0
  29. package/es2022/src/modules/logger/interfaces/loggerRest.interface.js.map +1 -0
  30. package/es2022/src/modules/logger/interfaces/loggerSink.interface.js +2 -0
  31. package/es2022/src/modules/logger/interfaces/loggerSink.interface.js.map +1 -0
  32. package/es2022/src/modules/logger/misc/index.js +5 -0
  33. package/es2022/src/modules/logger/misc/index.js.map +1 -0
  34. package/es2022/src/modules/logger/misc/providers.js +56 -0
  35. package/es2022/src/modules/logger/misc/providers.js.map +1 -0
  36. package/es2022/src/modules/logger/misc/tokens.js +11 -0
  37. package/es2022/src/modules/logger/misc/tokens.js.map +1 -0
  38. package/es2022/src/modules/logger/misc/types.js +2 -0
  39. package/es2022/src/modules/logger/misc/types.js.map +1 -0
  40. package/es2022/src/modules/logger/misc/utils.js +24 -0
  41. package/es2022/src/modules/logger/misc/utils.js.map +1 -0
  42. package/es2022/src/modules/logger/services/console/consoleComponent.sink.js +67 -0
  43. package/es2022/src/modules/logger/services/console/consoleComponent.sink.js.map +1 -0
  44. package/es2022/src/modules/logger/services/console/consoleComponentSink.options.js +31 -0
  45. package/es2022/src/modules/logger/services/console/consoleComponentSink.options.js.map +1 -0
  46. package/es2022/src/modules/logger/services/developmentConsoleSink/developmentConsole.sink.js +68 -0
  47. package/es2022/src/modules/logger/services/developmentConsoleSink/developmentConsole.sink.js.map +1 -0
  48. package/es2022/src/modules/logger/services/index.js +11 -0
  49. package/es2022/src/modules/logger/services/index.js.map +1 -0
  50. package/es2022/src/modules/logger/services/logLevelEnricher/logLevelEnricher.enricher.js +52 -0
  51. package/es2022/src/modules/logger/services/logLevelEnricher/logLevelEnricher.enricher.js.map +1 -0
  52. package/es2022/src/modules/logger/services/logger/logger.interface.js.map +1 -0
  53. package/es2022/src/modules/logger/services/logger/logger.service.js +107 -0
  54. package/es2022/src/modules/logger/services/logger/logger.service.js.map +1 -0
  55. package/es2022/src/modules/logger/services/rest/rest.sink.js +100 -0
  56. package/es2022/src/modules/logger/services/rest/rest.sink.js.map +1 -0
  57. package/es2022/src/modules/logger/services/rest/restSink.options.js +43 -0
  58. package/es2022/src/modules/logger/services/rest/restSink.options.js.map +1 -0
  59. package/es2022/src/modules/logger/services/subLoggerSink/subLogger.sink.js +46 -0
  60. package/es2022/src/modules/logger/services/subLoggerSink/subLogger.sink.js.map +1 -0
  61. package/es2022/src/modules/logger/services/timestampEnricher/timestamp.enricher.js +14 -0
  62. package/es2022/src/modules/logger/services/timestampEnricher/timestamp.enricher.js.map +1 -0
  63. package/es2022/src/modules/logger/types/index.js +4 -0
  64. package/es2022/src/modules/logger/types/index.js.map +1 -0
  65. package/es2022/src/modules/logger/types/logLevel.enum.js +35 -0
  66. package/es2022/src/modules/logger/types/logLevel.enum.js.map +1 -0
  67. package/es2022/src/modules/logger/types/loggerConfiguration.js +114 -0
  68. package/es2022/src/modules/logger/types/loggerConfiguration.js.map +1 -0
  69. package/es2022/src/modules/logger/types/loggerOptions.js +41 -0
  70. package/es2022/src/modules/logger/types/loggerOptions.js.map +1 -0
  71. package/es2022/src/modules/logger/types/messageLog.js +55 -0
  72. package/es2022/src/modules/logger/types/messageLog.js.map +1 -0
  73. package/es2022/src/services/permanentStorage/cookiePermanentStorage.service.js +13 -27
  74. package/es2022/src/services/permanentStorage/cookiePermanentStorage.service.js.map +1 -1
  75. package/es2022/src/services/permanentStorage/permanentStorage.interface.js.map +1 -1
  76. package/es2022/src/services/position/position.interface.js.map +1 -1
  77. package/es2022/src/services/stringLocalization/noStringLocalization.service.js +5 -5
  78. package/es2022/src/services/stringLocalization/noStringLocalization.service.js.map +1 -1
  79. package/es2022/src/services/stringLocalization/stringLocalization.interface.js.map +1 -1
  80. package/es2022/src/services/temporaryStorage/memoryTemporaryStorage.service.js +5 -5
  81. package/es2022/src/services/temporaryStorage/memoryTemporaryStorage.service.js.map +1 -1
  82. package/es2022/src/services/temporaryStorage/temporaryStorage.interface.js.map +1 -1
  83. package/es2022/src/types/providers.js.map +1 -1
  84. package/es2022/src/types/tokens.js +7 -7
  85. package/es2022/src/types/tokens.js.map +1 -1
  86. package/es2022/store/src/index.js +1 -1
  87. package/es2022/store/src/index.js.map +1 -1
  88. package/es2022/store/src/services/permanentStorage/localPermanentStorage.service.js +13 -27
  89. package/es2022/store/src/services/permanentStorage/localPermanentStorage.service.js.map +1 -1
  90. package/es2022/store/src/services/temporaryStorage/sessionTemporaryStorage.service.js +11 -26
  91. package/es2022/store/src/services/temporaryStorage/sessionTemporaryStorage.service.js.map +1 -1
  92. package/floating-ui/src/services/floatingUiDomPosition.service.d.ts +1 -5
  93. package/floating-ui/src/services/floatingUiDomPosition.service.d.ts.map +1 -1
  94. package/package.json +4 -30
  95. package/readme.md +0 -2
  96. package/src/index.d.ts +4 -4
  97. package/src/index.d.ts.map +1 -1
  98. package/src/modules/castPipes/pipes/castType/castType.pipe.d.ts +1 -1
  99. package/src/modules/castPipes/pipes/castType/castType.pipe.d.ts.map +1 -1
  100. package/src/modules/logger/components/console/console.component.d.ts +56 -0
  101. package/src/modules/logger/components/console/console.component.d.ts.map +1 -0
  102. package/src/modules/logger/components/index.d.ts +3 -0
  103. package/src/modules/logger/components/index.d.ts.map +1 -0
  104. package/src/modules/logger/decorators/index.d.ts +2 -0
  105. package/{positions/src → src/modules/logger/decorators}/index.d.ts.map +1 -1
  106. package/src/modules/logger/decorators/loggerSink.decorator.d.ts +11 -0
  107. package/src/modules/logger/decorators/loggerSink.decorator.d.ts.map +1 -0
  108. package/src/modules/logger/index.d.ts +7 -0
  109. package/src/modules/logger/index.d.ts.map +1 -0
  110. package/src/modules/logger/interfaces/index.d.ts +7 -0
  111. package/src/modules/logger/interfaces/index.d.ts.map +1 -0
  112. package/src/modules/logger/interfaces/loggerConfiguration.interface.d.ts +39 -0
  113. package/src/modules/logger/interfaces/loggerConfiguration.interface.d.ts.map +1 -0
  114. package/src/modules/logger/interfaces/loggerConsoleComponent.interface.d.ts +36 -0
  115. package/src/modules/logger/interfaces/loggerConsoleComponent.interface.d.ts.map +1 -0
  116. package/src/modules/logger/interfaces/loggerEnricher.interface.d.ts +19 -0
  117. package/src/modules/logger/interfaces/loggerEnricher.interface.d.ts.map +1 -0
  118. package/src/modules/logger/interfaces/loggerFilter.interface.d.ts +13 -0
  119. package/src/modules/logger/interfaces/loggerFilter.interface.d.ts.map +1 -0
  120. package/src/modules/logger/interfaces/loggerRest.interface.d.ts +29 -0
  121. package/src/modules/logger/interfaces/loggerRest.interface.d.ts.map +1 -0
  122. package/src/modules/logger/interfaces/loggerSink.interface.d.ts +35 -0
  123. package/src/modules/logger/interfaces/loggerSink.interface.d.ts.map +1 -0
  124. package/src/modules/logger/misc/index.d.ts +5 -0
  125. package/src/modules/logger/misc/index.d.ts.map +1 -0
  126. package/src/modules/logger/misc/providers.d.ts +25 -0
  127. package/src/modules/logger/misc/providers.d.ts.map +1 -0
  128. package/src/modules/logger/misc/tokens.d.ts +11 -0
  129. package/src/modules/logger/misc/tokens.d.ts.map +1 -0
  130. package/src/modules/logger/misc/types.d.ts +20 -0
  131. package/src/modules/logger/misc/types.d.ts.map +1 -0
  132. package/src/modules/logger/misc/utils.d.ts +15 -0
  133. package/src/modules/logger/misc/utils.d.ts.map +1 -0
  134. package/src/modules/logger/services/console/consoleComponent.sink.d.ts +38 -0
  135. package/src/modules/logger/services/console/consoleComponent.sink.d.ts.map +1 -0
  136. package/src/modules/logger/services/console/consoleComponentSink.options.d.ts +14 -0
  137. package/src/modules/logger/services/console/consoleComponentSink.options.d.ts.map +1 -0
  138. package/src/modules/logger/services/developmentConsoleSink/developmentConsole.sink.d.ts +18 -0
  139. package/src/modules/logger/services/developmentConsoleSink/developmentConsole.sink.d.ts.map +1 -0
  140. package/src/modules/logger/services/index.d.ts +11 -0
  141. package/src/modules/logger/services/index.d.ts.map +1 -0
  142. package/src/modules/logger/services/logLevelEnricher/logLevelEnricher.enricher.d.ts +12 -0
  143. package/src/modules/logger/services/logLevelEnricher/logLevelEnricher.enricher.d.ts.map +1 -0
  144. package/src/modules/logger/services/logger/logger.interface.d.ts +42 -0
  145. package/src/modules/logger/services/logger/logger.interface.d.ts.map +1 -0
  146. package/src/modules/logger/services/logger/logger.service.d.ts +44 -0
  147. package/src/modules/logger/services/logger/logger.service.d.ts.map +1 -0
  148. package/src/modules/logger/services/rest/rest.sink.d.ts +42 -0
  149. package/src/modules/logger/services/rest/rest.sink.d.ts.map +1 -0
  150. package/{structured-log/src → src/modules/logger}/services/rest/restSink.options.d.ts +6 -7
  151. package/src/modules/logger/services/rest/restSink.options.d.ts.map +1 -0
  152. package/src/modules/logger/services/subLoggerSink/subLogger.sink.d.ts +27 -0
  153. package/src/modules/logger/services/subLoggerSink/subLogger.sink.d.ts.map +1 -0
  154. package/src/modules/logger/services/timestampEnricher/timestamp.enricher.d.ts +12 -0
  155. package/src/modules/logger/services/timestampEnricher/timestamp.enricher.d.ts.map +1 -0
  156. package/src/modules/logger/types/index.d.ts +4 -0
  157. package/src/modules/logger/types/index.d.ts.map +1 -0
  158. package/src/modules/logger/types/logLevel.enum.d.ts +34 -0
  159. package/src/modules/logger/types/logLevel.enum.d.ts.map +1 -0
  160. package/src/modules/logger/types/loggerConfiguration.d.ts +54 -0
  161. package/src/modules/logger/types/loggerConfiguration.d.ts.map +1 -0
  162. package/src/modules/logger/types/loggerOptions.d.ts +35 -0
  163. package/src/modules/logger/types/loggerOptions.d.ts.map +1 -0
  164. package/src/modules/logger/types/messageLog.d.ts +34 -0
  165. package/src/modules/logger/types/messageLog.d.ts.map +1 -0
  166. package/src/services/permanentStorage/cookiePermanentStorage.service.d.ts +4 -8
  167. package/src/services/permanentStorage/cookiePermanentStorage.service.d.ts.map +1 -1
  168. package/src/services/permanentStorage/permanentStorage.interface.d.ts +0 -6
  169. package/src/services/permanentStorage/permanentStorage.interface.d.ts.map +1 -1
  170. package/src/services/position/position.interface.d.ts +0 -6
  171. package/src/services/position/position.interface.d.ts.map +1 -1
  172. package/src/services/stringLocalization/noStringLocalization.service.d.ts +3 -3
  173. package/src/services/stringLocalization/noStringLocalization.service.d.ts.map +1 -1
  174. package/src/services/stringLocalization/stringLocalization.interface.d.ts +0 -6
  175. package/src/services/stringLocalization/stringLocalization.interface.d.ts.map +1 -1
  176. package/src/services/temporaryStorage/memoryTemporaryStorage.service.d.ts +3 -3
  177. package/src/services/temporaryStorage/memoryTemporaryStorage.service.d.ts.map +1 -1
  178. package/src/services/temporaryStorage/temporaryStorage.interface.d.ts +0 -6
  179. package/src/services/temporaryStorage/temporaryStorage.interface.d.ts.map +1 -1
  180. package/src/types/providers.d.ts +11 -11
  181. package/src/types/providers.d.ts.map +1 -1
  182. package/src/types/tokens.d.ts +1 -1
  183. package/src/types/tokens.d.ts.map +1 -1
  184. package/store/src/index.d.ts +1 -1
  185. package/store/src/index.d.ts.map +1 -1
  186. package/store/src/services/permanentStorage/localPermanentStorage.service.d.ts +4 -8
  187. package/store/src/services/permanentStorage/localPermanentStorage.service.d.ts.map +1 -1
  188. package/store/src/services/temporaryStorage/sessionTemporaryStorage.service.d.ts +4 -8
  189. package/store/src/services/temporaryStorage/sessionTemporaryStorage.service.d.ts.map +1 -1
  190. package/version.bak +1 -1
  191. package/es2022/positions/src/index.js +0 -2
  192. package/es2022/positions/src/index.js.map +0 -1
  193. package/es2022/positions/src/misc/utils.js +0 -109
  194. package/es2022/positions/src/misc/utils.js.map +0 -1
  195. package/es2022/src/services/logger/index.js +0 -3
  196. package/es2022/src/services/logger/index.js.map +0 -1
  197. package/es2022/src/services/logger/logger.interface.js.map +0 -1
  198. package/es2022/src/services/logger/logger.service.js +0 -18
  199. package/es2022/src/services/logger/logger.service.js.map +0 -1
  200. package/es2022/structured-log/src/components/console/console.component.animations.js.map +0 -1
  201. package/es2022/structured-log/src/components/console/console.component.js +0 -103
  202. package/es2022/structured-log/src/components/console/console.component.js.map +0 -1
  203. package/es2022/structured-log/src/index.js +0 -15
  204. package/es2022/structured-log/src/index.js.map +0 -1
  205. package/es2022/structured-log/src/misc/providers.js +0 -12
  206. package/es2022/structured-log/src/misc/providers.js.map +0 -1
  207. package/es2022/structured-log/src/misc/utils.js +0 -39
  208. package/es2022/structured-log/src/misc/utils.js.map +0 -1
  209. package/es2022/structured-log/src/modules/consoleLog.module.js +0 -28
  210. package/es2022/structured-log/src/modules/consoleLog.module.js.map +0 -1
  211. package/es2022/structured-log/src/services/console/consoleComponentSink.service.js +0 -98
  212. package/es2022/structured-log/src/services/console/consoleComponentSink.service.js.map +0 -1
  213. package/es2022/structured-log/src/services/console/consoleSinkConfig.service.js +0 -47
  214. package/es2022/structured-log/src/services/console/consoleSinkConfig.service.js.map +0 -1
  215. package/es2022/structured-log/src/services/developerConsole/developerConsoleSink.options.js +0 -18
  216. package/es2022/structured-log/src/services/developerConsole/developerConsoleSink.options.js.map +0 -1
  217. package/es2022/structured-log/src/services/developerConsole/developerConsoleSink.service.js +0 -124
  218. package/es2022/structured-log/src/services/developerConsole/developerConsoleSink.service.js.map +0 -1
  219. package/es2022/structured-log/src/services/logger.service.js +0 -71
  220. package/es2022/structured-log/src/services/logger.service.js.map +0 -1
  221. package/es2022/structured-log/src/services/rest/restSink.options.js +0 -40
  222. package/es2022/structured-log/src/services/rest/restSink.options.js.map +0 -1
  223. package/es2022/structured-log/src/services/rest/restSink.service.js +0 -136
  224. package/es2022/structured-log/src/services/rest/restSink.service.js.map +0 -1
  225. package/es2022/structured-log/src/types/logger.interface.js +0 -2
  226. package/es2022/structured-log/src/types/logger.interface.js.map +0 -1
  227. package/es2022/structured-log/src/types/tokens.js +0 -56
  228. package/es2022/structured-log/src/types/tokens.js.map +0 -1
  229. package/positions/package.json +0 -8
  230. package/positions/src/index.d.ts +0 -2
  231. package/positions/src/misc/utils.d.ts +0 -22
  232. package/positions/src/misc/utils.d.ts.map +0 -1
  233. package/src/services/logger/index.d.ts +0 -3
  234. package/src/services/logger/index.d.ts.map +0 -1
  235. package/src/services/logger/logger.interface.d.ts +0 -90
  236. package/src/services/logger/logger.interface.d.ts.map +0 -1
  237. package/src/services/logger/logger.service.d.ts +0 -85
  238. package/src/services/logger/logger.service.d.ts.map +0 -1
  239. package/structured-log/package.json +0 -8
  240. package/structured-log/src/components/console/console.component.d.ts +0 -55
  241. package/structured-log/src/components/console/console.component.d.ts.map +0 -1
  242. package/structured-log/src/index.d.ts +0 -15
  243. package/structured-log/src/index.d.ts.map +0 -1
  244. package/structured-log/src/misc/providers.d.ts +0 -6
  245. package/structured-log/src/misc/providers.d.ts.map +0 -1
  246. package/structured-log/src/misc/utils.d.ts +0 -14
  247. package/structured-log/src/misc/utils.d.ts.map +0 -1
  248. package/structured-log/src/modules/consoleLog.module.d.ts +0 -12
  249. package/structured-log/src/modules/consoleLog.module.d.ts.map +0 -1
  250. package/structured-log/src/services/console/consoleComponentSink.service.d.ts +0 -45
  251. package/structured-log/src/services/console/consoleComponentSink.service.d.ts.map +0 -1
  252. package/structured-log/src/services/console/consoleSinkConfig.service.d.ts +0 -18
  253. package/structured-log/src/services/console/consoleSinkConfig.service.d.ts.map +0 -1
  254. package/structured-log/src/services/developerConsole/developerConsoleSink.options.d.ts +0 -12
  255. package/structured-log/src/services/developerConsole/developerConsoleSink.options.d.ts.map +0 -1
  256. package/structured-log/src/services/developerConsole/developerConsoleSink.service.d.ts +0 -39
  257. package/structured-log/src/services/developerConsole/developerConsoleSink.service.d.ts.map +0 -1
  258. package/structured-log/src/services/logger.service.d.ts +0 -98
  259. package/structured-log/src/services/logger.service.d.ts.map +0 -1
  260. package/structured-log/src/services/rest/restSink.options.d.ts.map +0 -1
  261. package/structured-log/src/services/rest/restSink.service.d.ts +0 -47
  262. package/structured-log/src/services/rest/restSink.service.d.ts.map +0 -1
  263. package/structured-log/src/types/logger.interface.d.ts +0 -63
  264. package/structured-log/src/types/logger.interface.d.ts.map +0 -1
  265. package/structured-log/src/types/tokens.d.ts +0 -38
  266. package/structured-log/src/types/tokens.d.ts.map +0 -1
  267. package/typings/positions/index.d.ts +0 -41
  268. package/typings/structured-log/index.d.ts +0 -391
  269. /package/es2022/{structured-log/src → src/modules/logger}/components/console/console.component.animations.js +0 -0
  270. /package/es2022/src/{services → modules/logger/services}/logger/logger.interface.js +0 -0
  271. /package/{structured-log/src → src/modules/logger}/components/console/console.component.animations.d.ts +0 -0
  272. /package/{structured-log/src → src/modules/logger}/components/console/console.component.animations.d.ts.map +0 -0
  273. /package/{structured-log/src → src/modules/logger}/components/console/console.component.css +0 -0
  274. /package/{structured-log/src → src/modules/logger}/components/console/console.component.html +0 -0
@@ -0,0 +1,5 @@
1
+ export * from './providers';
2
+ export * from './tokens';
3
+ export * from './types';
4
+ export * from './utils';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/logger/misc/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC","sourcesContent":["export * from './providers';\nexport * from './tokens';\nexport * from './types';\nexport * from './utils';\n"]}
@@ -0,0 +1,56 @@
1
+ import { makeEnvironmentProviders } from '@angular/core';
2
+ import { LoggerConfigurationImpl } from '../types/loggerConfiguration';
3
+ import { LoggerOptions } from '../types';
4
+ import { LOGGER_REST_CLIENT } from './tokens';
5
+ import { ConsoleComponentSinkOptions, RestSinkOptions } from '../services';
6
+ /**
7
+ * Provides configuration for default built-in logger
8
+ * @param configBuilder - Configuration builder that is used for configuring logger
9
+ */
10
+ export function provideLoggerConfig(configBuilder) {
11
+ const config = new LoggerConfigurationImpl();
12
+ configBuilder(config);
13
+ return makeEnvironmentProviders([
14
+ {
15
+ provide: LoggerOptions,
16
+ useFactory: config.buildOptions.bind(config),
17
+ }
18
+ ]);
19
+ }
20
+ /**
21
+ * Provides logger rest client
22
+ * @param type - Type that implements `LoggerRestClient`
23
+ */
24
+ export function provideLoggerRestClient(type) {
25
+ return makeEnvironmentProviders([
26
+ {
27
+ provide: LOGGER_REST_CLIENT,
28
+ useClass: type,
29
+ }
30
+ ]);
31
+ }
32
+ /**
33
+ * Provides `ConsoleComponentSinkOptions`
34
+ * @param options - Value of options to be provided
35
+ */
36
+ export function provideConsoleComponentSinkOptions(options) {
37
+ return makeEnvironmentProviders([
38
+ {
39
+ provide: ConsoleComponentSinkOptions,
40
+ useValue: options,
41
+ }
42
+ ]);
43
+ }
44
+ /**
45
+ * Provides `RestSinkOptions`
46
+ * @param options - Value of options to be provided
47
+ */
48
+ export function provideRestSinkOptions(options) {
49
+ return makeEnvironmentProviders([
50
+ {
51
+ provide: RestSinkOptions,
52
+ useValue: options,
53
+ }
54
+ ]);
55
+ }
56
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../../../src/modules/logger/misc/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4E,wBAAwB,EAAC,MAAM,eAAe,CAAC;AAIlI,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAC,2BAA2B,EAAE,eAAe,EAAC,MAAM,aAAa,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA2C;IAE3E,MAAM,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAE7C,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,OAAO,wBAAwB,CAC/B;QAEI;YACI,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;SAC/C;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAA4B;IAEhE,OAAO,wBAAwB,CAC/B;QAEI;YACI,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,IAAI;SACjB;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAAoC;IAEnF,OAAO,wBAAwB,CAC/B;QAEI;YACI,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,OAAO;SACpB;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAE3D,OAAO,wBAAwB,CAC/B;QAEI;YACI,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,OAAO;SACpB;KACJ,CAAC,CAAC;AACP,CAAC","sourcesContent":["import {ClassProvider, EnvironmentProviders, FactoryProvider, Type, ValueProvider, makeEnvironmentProviders} from '@angular/core';\nimport {Action1} from '@jscrpt/common';\n\nimport {LoggerConfiguration, LoggerRestClient} from '../interfaces';\nimport {LoggerConfigurationImpl} from '../types/loggerConfiguration';\nimport {LoggerOptions} from '../types';\nimport {LOGGER_REST_CLIENT} from './tokens';\nimport {ConsoleComponentSinkOptions, RestSinkOptions} from '../services';\n\n/**\n * Provides configuration for default built-in logger\n * @param configBuilder - Configuration builder that is used for configuring logger\n */\nexport function provideLoggerConfig(configBuilder: Action1<LoggerConfiguration>): EnvironmentProviders\n{\n const config = new LoggerConfigurationImpl();\n\n configBuilder(config);\n\n return makeEnvironmentProviders(\n [\n <FactoryProvider>\n {\n provide: LoggerOptions,\n useFactory: config.buildOptions.bind(config),\n }\n ]);\n}\n\n/**\n * Provides logger rest client\n * @param type - Type that implements `LoggerRestClient`\n */\nexport function provideLoggerRestClient(type: Type<LoggerRestClient>): EnvironmentProviders\n{\n return makeEnvironmentProviders(\n [\n <ClassProvider>\n {\n provide: LOGGER_REST_CLIENT,\n useClass: type,\n }\n ]);\n}\n\n/**\n * Provides `ConsoleComponentSinkOptions`\n * @param options - Value of options to be provided\n */\nexport function provideConsoleComponentSinkOptions(options: ConsoleComponentSinkOptions): EnvironmentProviders\n{\n return makeEnvironmentProviders(\n [\n <ValueProvider>\n {\n provide: ConsoleComponentSinkOptions,\n useValue: options,\n }\n ]);\n}\n\n/**\n * Provides `RestSinkOptions`\n * @param options - Value of options to be provided\n */\nexport function provideRestSinkOptions(options: RestSinkOptions): EnvironmentProviders\n{\n return makeEnvironmentProviders(\n [\n <ValueProvider>\n {\n provide: RestSinkOptions,\n useValue: options,\n }\n ]);\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ConsoleComponentSink } from '../services/console/consoleComponent.sink';
3
+ /**
4
+ * Injection token for obtaining sink service for `ConsoleComponent`
5
+ */
6
+ export const CONSOLE_COMPONENT_SINK_SERVICE = new InjectionToken('CONSOLE_COMPONENT_SINK_SERVICE', { factory: () => new ConsoleComponentSink() });
7
+ /**
8
+ * Injection token for obtaining rest client for rest sink
9
+ */
10
+ export const LOGGER_REST_CLIENT = new InjectionToken('LOGGER_REST_CLIENT');
11
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../../src/modules/logger/misc/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAA6C,IAAI,cAAc,CAA2B,gCAAgC,EAAE,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAoB,EAAE,EAAC,CAAC,CAAC;AAEpN;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAqC,IAAI,cAAc,CAAmB,oBAAoB,CAAC,CAAC","sourcesContent":["import {InjectionToken} from '@angular/core';\n\nimport {ConsoleComponentSink} from '../services/console/consoleComponent.sink';\nimport {ConsoleComponentSinkData, LoggerRestClient} from '../interfaces';\n\n/**\n * Injection token for obtaining sink service for `ConsoleComponent`\n */\nexport const CONSOLE_COMPONENT_SINK_SERVICE: InjectionToken<ConsoleComponentSinkData> = new InjectionToken<ConsoleComponentSinkData>('CONSOLE_COMPONENT_SINK_SERVICE', {factory: () => new ConsoleComponentSink()});\n\n/**\n * Injection token for obtaining rest client for rest sink\n */\nexport const LOGGER_REST_CLIENT: InjectionToken<LoggerRestClient> = new InjectionToken<LoggerRestClient>('LOGGER_REST_CLIENT');\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/modules/logger/misc/types.ts"],"names":[],"mappings":"","sourcesContent":["import {Func1} from '@jscrpt/common';\n\nimport {LogLevel} from '../types';\nimport {LoggerConfiguration, LoggerSinkType} from '../interfaces';\n\n/**\n * Getter for obtaining minimum log level\n */\nexport type MinLogLevelGetter = () => LogLevel;\n\n/**\n * Factory that is used for obtaining minimum log level getter\n */\nexport type MinLogLevelGetterFactory = () => MinLogLevelGetter;\n\n/**\n * Static log level, or function that returns log level or function that returns function which is used like getter for log level\n */\nexport type MinimumLevelConfig = LogLevel|MinLogLevelGetter|MinLogLevelGetterFactory;\n\n/**\n * Type of sink or function that creates sublogger with custom configuration\n */\nexport type WriteToConfig = LoggerSinkType|Func1<LogLevel, LoggerConfiguration>;"]}
@@ -0,0 +1,24 @@
1
+ import { isBlank } from '@jscrpt/common';
2
+ /**
3
+ * Tests whether is logger sink enabled
4
+ * @param minimumLogLevel - Minimum log level to be tested
5
+ * @param messageLogLevel - Message log level
6
+ */
7
+ export function loggerEnabled(minimumLogLevel, messageLogLevel) {
8
+ if (isBlank(minimumLogLevel)) {
9
+ return true;
10
+ }
11
+ return minimumLogLevel() <= messageLogLevel;
12
+ }
13
+ /**
14
+ * Creates logger properties by using enrichers
15
+ * @param messageLog - Message log to be used for creating enrichers
16
+ */
17
+ export function useEnrichers(messageLog, enrichers) {
18
+ const properties = {};
19
+ for (const enricher of enrichers) {
20
+ enricher.enrich(properties, messageLog);
21
+ }
22
+ return properties;
23
+ }
24
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/modules/logger/misc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAMvC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,eAAiD,EAAE,eAAyB;IAEtG,IAAG,OAAO,CAAC,eAAe,CAAC,EAC3B;QACI,OAAO,IAAI,CAAC;KACf;IAED,OAAO,eAAe,EAAE,IAAI,eAAe,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,UAAsB,EAAE,SAA2B;IAE5E,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,KAAI,MAAM,QAAQ,IAAI,SAAS,EAC/B;QACI,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;KAC3C;IAED,OAAO,UAAU,CAAC;AACtB,CAAC","sourcesContent":["import {isBlank} from '@jscrpt/common';\n\nimport {LogLevel, MessageLog} from '../types';\nimport {MinLogLevelGetter} from './types';\nimport {LoggerEnricher} from '../interfaces';\n\n/**\n * Tests whether is logger sink enabled\n * @param minimumLogLevel - Minimum log level to be tested\n * @param messageLogLevel - Message log level\n */\nexport function loggerEnabled(minimumLogLevel: MinLogLevelGetter|null|undefined, messageLogLevel: LogLevel): boolean\n{\n if(isBlank(minimumLogLevel))\n {\n return true;\n }\n\n return minimumLogLevel() <= messageLogLevel;\n}\n\n/**\n * Creates logger properties by using enrichers\n * @param messageLog - Message log to be used for creating enrichers\n */\nexport function useEnrichers(messageLog: MessageLog, enrichers: LoggerEnricher[]): Record<string, unknown>\n{\n const properties: Record<string, unknown> = {};\n\n for(const enricher of enrichers)\n {\n enricher.enrich(properties, messageLog);\n }\n\n return properties;\n}"]}
@@ -0,0 +1,67 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { ConsoleComponentSinkOptions } from './consoleComponentSink.options';
5
+ import { LogLevel } from '../../types';
6
+ import { SinkType } from '../../decorators';
7
+ /**
8
+ * Sink that is used for storing logs in `ConsoleComponent`
9
+ */
10
+ let ConsoleComponentSink = class ConsoleComponentSink {
11
+ //######################### protected fields #########################
12
+ /**
13
+ * Array of current logs
14
+ */
15
+ currentLogs = [];
16
+ /**
17
+ * Subject used for indicating logs change
18
+ */
19
+ logsChangeSubject = new Subject();
20
+ /**
21
+ * Options for this sink
22
+ */
23
+ options = inject(ConsoleComponentSinkOptions);
24
+ //######################### public properties - implementation of ConsoleComponentSink #########################
25
+ /**
26
+ * Occurs when logs change
27
+ */
28
+ get logsChange() {
29
+ return this.logsChangeSubject.asObservable();
30
+ }
31
+ /**
32
+ * Gets current logs
33
+ */
34
+ get logs() {
35
+ return this.currentLogs;
36
+ }
37
+ //######################### public methods - implementation of ConsoleComponentSinkData #########################
38
+ /**
39
+ * Clears all current logs
40
+ */
41
+ clear() {
42
+ this.currentLogs = [];
43
+ this.logsChangeSubject.next();
44
+ }
45
+ //######################### public methods - implementation of LoggerSink #########################
46
+ /**
47
+ * @inheritdoc
48
+ */
49
+ log(options, loggerProperties, messageLog) {
50
+ const fullMessage = `${messageLog.buildMessage(options.messageTemplate ?? '{{messageLog}}', loggerProperties)}`;
51
+ this.currentLogs.push({
52
+ text: fullMessage,
53
+ logLevel: LogLevel[messageLog.logLevel],
54
+ });
55
+ //TRIM LOGS
56
+ if (this.currentLogs.length > this.options.maxLogsCount) {
57
+ const removeCount = this.currentLogs.length - this.options.maxLogsCount;
58
+ this.currentLogs.splice(0, removeCount);
59
+ }
60
+ this.logsChangeSubject.next();
61
+ }
62
+ };
63
+ ConsoleComponentSink = __decorate([
64
+ SinkType()
65
+ ], ConsoleComponentSink);
66
+ export { ConsoleComponentSink };
67
+ //# sourceMappingURL=consoleComponent.sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consoleComponent.sink.js","sourceRoot":"","sources":["../../../../../../src/modules/logger/services/console/consoleComponent.sink.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAa,OAAO,EAAC,MAAM,MAAM,CAAC;AAEzC,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAC,QAAQ,EAA4B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C;;GAEG;AAEH,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAE7B,sEAAsE;IAEtE;;OAEG;IACO,WAAW,GAA0B,EAAE,CAAC;IAElD;;OAEG;IACO,iBAAiB,GAAkB,IAAI,OAAO,EAAQ,CAAC;IAEjE;;OAEG;IACO,OAAO,GAAgC,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAErF,gHAAgH;IAEhH;;OAEG;IACH,IAAW,UAAU;QAEjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QAEX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,iHAAiH;IAEjH;;OAEG;IACI,KAAK;QAER,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,mGAAmG;IAEnG;;OAEG;IACI,GAAG,CAAC,OAAsB,EAAE,gBAAyC,EAAE,UAA+C;QAEzH,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,IAAI,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAEhH,IAAI,CAAC,WAAW,CAAC,IAAI,CACrB;YACI,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC1C,CAAC,CAAC;QAEH,WAAW;QACX,IAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EACtD;YACI,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAExE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;CACJ,CAAA;AAzEY,oBAAoB;IADhC,QAAQ,EAAE;GACE,oBAAoB,CAyEhC;SAzEY,oBAAoB","sourcesContent":["import {inject} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\n\nimport {ConsoleComponentSinkOptions} from './consoleComponentSink.options';\nimport {ConsoleComponentLog, ConsoleComponentSinkData, LoggerSink} from '../../interfaces';\nimport {LogLevel, LoggerOptions, MessageLog} from '../../types';\nimport {SinkType} from '../../decorators';\n\n/**\n * Sink that is used for storing logs in `ConsoleComponent`\n */\n@SinkType()\nexport class ConsoleComponentSink implements LoggerSink, ConsoleComponentSinkData\n{\n //######################### protected fields #########################\n\n /**\n * Array of current logs\n */\n protected currentLogs: ConsoleComponentLog[] = [];\n\n /**\n * Subject used for indicating logs change\n */\n protected logsChangeSubject: Subject<void> = new Subject<void>();\n\n /**\n * Options for this sink\n */\n protected options: ConsoleComponentSinkOptions = inject(ConsoleComponentSinkOptions);\n\n //######################### public properties - implementation of ConsoleComponentSink #########################\n\n /**\n * Occurs when logs change\n */\n public get logsChange(): Observable<void>\n {\n return this.logsChangeSubject.asObservable();\n }\n\n /**\n * Gets current logs\n */\n public get logs(): ConsoleComponentLog[]\n {\n return this.currentLogs;\n }\n\n //######################### public methods - implementation of ConsoleComponentSinkData #########################\n\n /**\n * Clears all current logs\n */\n public clear(): void\n {\n this.currentLogs = [];\n this.logsChangeSubject.next();\n }\n\n //######################### public methods - implementation of LoggerSink #########################\n\n /**\n * @inheritdoc\n */\n public log(options: LoggerOptions, loggerProperties: Record<string, unknown>, messageLog: MessageLog<Record<string, unknown>>): void\n {\n const fullMessage = `${messageLog.buildMessage(options.messageTemplate ?? '{{messageLog}}', loggerProperties)}`;\n\n this.currentLogs.push(\n {\n text: fullMessage,\n logLevel: LogLevel[messageLog.logLevel],\n });\n\n //TRIM LOGS\n if(this.currentLogs.length > this.options.maxLogsCount)\n {\n const removeCount = this.currentLogs.length - this.options.maxLogsCount;\n\n this.currentLogs.splice(0, removeCount);\n }\n\n this.logsChangeSubject.next();\n }\n}"]}
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { isPresent } from '@jscrpt/common';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Maximal number of logs that can be stored
6
+ */
7
+ const MAX_LOGS = 1500;
8
+ /**
9
+ * Options for *console sink component*
10
+ */
11
+ class ConsoleComponentSinkOptions {
12
+ //######################### public properties #########################
13
+ /**
14
+ * Maximal number of logs that can be stored
15
+ */
16
+ maxLogsCount = MAX_LOGS;
17
+ //######################### constructor #########################
18
+ constructor(maxLogsCount) {
19
+ if (isPresent(maxLogsCount)) {
20
+ this.maxLogsCount = maxLogsCount;
21
+ }
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ConsoleComponentSinkOptions, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ConsoleComponentSinkOptions, providedIn: 'root', useFactory: () => new ConsoleComponentSinkOptions() });
25
+ }
26
+ export { ConsoleComponentSinkOptions };
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: ConsoleComponentSinkOptions, decorators: [{
28
+ type: Injectable,
29
+ args: [{ providedIn: 'root', useFactory: () => new ConsoleComponentSinkOptions() }]
30
+ }], ctorParameters: function () { return [{ type: undefined }]; } });
31
+ //# sourceMappingURL=consoleComponentSink.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consoleComponentSink.options.js","sourceRoot":"","sources":["../../../../../../src/modules/logger/services/console/consoleComponentSink.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;;AAEzC;;GAEG;AACH,MAAM,QAAQ,GAAW,IAAI,CAAC;AAE9B;;GAEG;AACH,MACa,2BAA2B;IAEpC,uEAAuE;IAEvE;;OAEG;IACI,YAAY,GAAW,QAAQ,CAAC;IAEvC,iEAAiE;IACjE,YAAY,YAAqB;QAE7B,IAAG,SAAS,CAAC,YAAY,CAAC,EAC1B;YACI,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SACpC;IACL,CAAC;uGAhBQ,2BAA2B;2GAA3B,2BAA2B,cADf,MAAM,cAAc,GAAG,EAAE,CAAC,IAAI,2BAA2B,EAAE;;SACvE,2BAA2B;2FAA3B,2BAA2B;kBADvC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iCAAiC,EAAC","sourcesContent":["import {Injectable} from '@angular/core';\nimport {isPresent} from '@jscrpt/common';\n\n/**\n * Maximal number of logs that can be stored\n */\nconst MAX_LOGS: number = 1500;\n\n/**\n * Options for *console sink component*\n */\n@Injectable({providedIn: 'root', useFactory: () => new ConsoleComponentSinkOptions()})\nexport class ConsoleComponentSinkOptions\n{\n //######################### public properties #########################\n\n /**\n * Maximal number of logs that can be stored\n */\n public maxLogsCount: number = MAX_LOGS;\n\n //######################### constructor #########################\n constructor(maxLogsCount?: number)\n {\n if(isPresent(maxLogsCount))\n {\n this.maxLogsCount = maxLogsCount;\n }\n }\n}\n"]}
@@ -0,0 +1,68 @@
1
+ import { __decorate } from "tslib";
2
+ import { LogLevel } from '../../types';
3
+ import { SinkType } from '../../decorators';
4
+ /**
5
+ * Sink that is used for storing logs using browser developer console
6
+ */
7
+ let DeveloperConsoleSink = class DeveloperConsoleSink {
8
+ //######################### public methods - implementation of LoggerSink #########################
9
+ /**
10
+ * @inheritdoc
11
+ */
12
+ log(options, loggerProperties, messageLog) {
13
+ const fullMessage = `%c${messageLog.buildMessage(options.messageTemplate ?? '{{messageLog}}', loggerProperties)}`;
14
+ switch (messageLog.logLevel) {
15
+ default:
16
+ case LogLevel.Off:
17
+ {
18
+ break;
19
+ }
20
+ case LogLevel.Error:
21
+ case LogLevel.Fatal:
22
+ {
23
+ this.writeLog(fullMessage, 'FF3131');
24
+ break;
25
+ }
26
+ case LogLevel.Verbose:
27
+ case LogLevel.Debug:
28
+ {
29
+ this.writeLog(fullMessage, '31A1FF');
30
+ break;
31
+ }
32
+ case LogLevel.Information:
33
+ {
34
+ this.writeLog(fullMessage, 'ffffff');
35
+ break;
36
+ }
37
+ case LogLevel.Warning:
38
+ {
39
+ this.writeLog(fullMessage, 'FFC531');
40
+ break;
41
+ }
42
+ }
43
+ }
44
+ //######################### protected methods #########################
45
+ /**
46
+ * Writes message to log
47
+ * @param fullMessage - Full message to be written
48
+ * @param color - Color of message
49
+ */
50
+ writeLog(fullMessage, color) {
51
+ const index = fullMessage.indexOf('\n');
52
+ if (index >= 0) {
53
+ const firstLine = fullMessage.slice(0, index);
54
+ const restLines = fullMessage.slice(index + 1);
55
+ console.groupCollapsed(firstLine, `color: #${color};`);
56
+ console.log(`%c${restLines}`, `color: #${color};`);
57
+ console.groupEnd();
58
+ }
59
+ else {
60
+ console.log(fullMessage, `color: #${color};`);
61
+ }
62
+ }
63
+ };
64
+ DeveloperConsoleSink = __decorate([
65
+ SinkType()
66
+ ], DeveloperConsoleSink);
67
+ export { DeveloperConsoleSink };
68
+ //# sourceMappingURL=developmentConsole.sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developmentConsole.sink.js","sourceRoot":"","sources":["../../../../../../src/modules/logger/services/developmentConsoleSink/developmentConsole.sink.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,QAAQ,EAA4B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C;;GAEG;AAEH,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAE7B,mGAAmG;IAEnG;;OAEG;IACI,GAAG,CAAC,OAAsB,EAAE,gBAAyC,EAAE,UAAsB;QAEhG,MAAM,WAAW,GAAG,KAAK,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,IAAI,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAElH,QAAO,UAAU,CAAC,QAAQ,EAC1B;YACI,QAAQ;YACR,KAAK,QAAQ,CAAC,GAAG;gBACjB;oBACI,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,KAAK,CAAC;YACpB,KAAK,QAAQ,CAAC,KAAK;gBACnB;oBACI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAErC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,QAAQ,CAAC,KAAK;gBACnB;oBACI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAErC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,WAAW;gBACzB;oBACI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAErC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,OAAO;gBACrB;oBACI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAErC,MAAM;iBACT;SACJ;IACL,CAAC;IAED,uEAAuE;IAEvE;;;;OAIG;IACO,QAAQ,CAAC,WAAmB,EAAE,KAAa;QAEjD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExC,IAAG,KAAK,IAAI,CAAC,EACb;YACI,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE/C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAG,WAAW,KAAK,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,EAAE,WAAW,KAAK,GAAG,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,EAAE,CAAC;SACtB;aAED;YACI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,GAAG,CAAC,CAAC;SACjD;IACL,CAAC;CACJ,CAAA;AAxEY,oBAAoB;IADhC,QAAQ,EAAE;GACE,oBAAoB,CAwEhC;SAxEY,oBAAoB","sourcesContent":["import {LoggerSink} from '../../interfaces';\nimport {LogLevel, LoggerOptions, MessageLog} from '../../types';\nimport {SinkType} from '../../decorators';\n\n/**\n * Sink that is used for storing logs using browser developer console\n */\n@SinkType()\nexport class DeveloperConsoleSink implements LoggerSink\n{\n //######################### public methods - implementation of LoggerSink #########################\n\n /**\n * @inheritdoc\n */\n public log(options: LoggerOptions, loggerProperties: Record<string, unknown>, messageLog: MessageLog): void\n {\n const fullMessage = `%c${messageLog.buildMessage(options.messageTemplate ?? '{{messageLog}}', loggerProperties)}`;\n \n switch(messageLog.logLevel)\n {\n default:\n case LogLevel.Off:\n {\n break;\n }\n case LogLevel.Error:\n case LogLevel.Fatal:\n {\n this.writeLog(fullMessage, 'FF3131');\n\n break;\n }\n case LogLevel.Verbose:\n case LogLevel.Debug:\n {\n this.writeLog(fullMessage, '31A1FF');\n\n break;\n }\n case LogLevel.Information:\n {\n this.writeLog(fullMessage, 'ffffff');\n\n break;\n }\n case LogLevel.Warning:\n {\n this.writeLog(fullMessage, 'FFC531');\n\n break;\n }\n }\n }\n\n //######################### protected methods #########################\n\n /**\n * Writes message to log\n * @param fullMessage - Full message to be written\n * @param color - Color of message\n */\n protected writeLog(fullMessage: string, color: string): void\n {\n const index = fullMessage.indexOf('\\n');\n\n if(index >= 0)\n {\n const firstLine = fullMessage.slice(0, index);\n const restLines = fullMessage.slice(index + 1);\n\n console.groupCollapsed(firstLine, `color: #${color};`);\n console.log(`%c${restLines}`, `color: #${color};`);\n console.groupEnd();\n }\n else\n {\n console.log(fullMessage, `color: #${color};`);\n }\n }\n}"]}
@@ -0,0 +1,11 @@
1
+ export * from './console/consoleComponent.sink';
2
+ export * from './console/consoleComponentSink.options';
3
+ export * from './developmentConsoleSink/developmentConsole.sink';
4
+ export * from './logger/logger.interface';
5
+ export * from './logger/logger.service';
6
+ export * from './logLevelEnricher/logLevelEnricher.enricher';
7
+ export * from './rest/rest.sink';
8
+ export * from './rest/restSink.options';
9
+ export * from './subLoggerSink/subLogger.sink';
10
+ export * from './timestampEnricher/timestamp.enricher';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/logger/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kDAAkD,CAAC;AACjE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC","sourcesContent":["export * from './console/consoleComponent.sink';\nexport * from './console/consoleComponentSink.options';\nexport * from './developmentConsoleSink/developmentConsole.sink';\nexport * from './logger/logger.interface';\nexport * from './logger/logger.service';\nexport * from './logLevelEnricher/logLevelEnricher.enricher';\nexport * from './rest/rest.sink';\nexport * from './rest/restSink.options';\nexport * from './subLoggerSink/subLogger.sink';\nexport * from './timestampEnricher/timestamp.enricher';\n"]}
@@ -0,0 +1,52 @@
1
+ import { LogLevel } from '../../types';
2
+ const LOG_LEVEL = 'logLevel';
3
+ const LOG_LEVEL_SHORT = 'logLevelShort';
4
+ /**
5
+ * Enricher used for adding logLevel and logLevelShort properties
6
+ */
7
+ export class LogLevelEnricher {
8
+ //######################### public methods - implementation of LoggerEnricher #########################
9
+ /**
10
+ * @inheritdoc
11
+ */
12
+ enrich(properties, messageLog) {
13
+ properties[LOG_LEVEL] = LogLevel[messageLog.logLevel];
14
+ switch (messageLog.logLevel) {
15
+ case LogLevel.Debug:
16
+ {
17
+ properties[LOG_LEVEL_SHORT] = 'DBG';
18
+ break;
19
+ }
20
+ case LogLevel.Verbose:
21
+ {
22
+ properties[LOG_LEVEL_SHORT] = 'VER';
23
+ break;
24
+ }
25
+ case LogLevel.Information:
26
+ {
27
+ properties[LOG_LEVEL_SHORT] = 'INF';
28
+ break;
29
+ }
30
+ case LogLevel.Error:
31
+ {
32
+ properties[LOG_LEVEL_SHORT] = 'ERR';
33
+ break;
34
+ }
35
+ case LogLevel.Fatal:
36
+ {
37
+ properties[LOG_LEVEL_SHORT] = 'FTL';
38
+ break;
39
+ }
40
+ case LogLevel.Warning:
41
+ {
42
+ properties[LOG_LEVEL_SHORT] = 'WRN';
43
+ break;
44
+ }
45
+ case LogLevel.Off:
46
+ {
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ //# sourceMappingURL=logLevelEnricher.enricher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logLevelEnricher.enricher.js","sourceRoot":"","sources":["../../../../../../src/modules/logger/services/logLevelEnricher/logLevelEnricher.enricher.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAa,MAAM,aAAa,CAAC;AAEjD,MAAM,SAAS,GAAG,UAAU,CAAC;AAC7B,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAEzB,uGAAuG;IAEvG;;OAEG;IACI,MAAM,CAAC,UAAmC,EAAE,UAA+C;QAE9F,UAAU,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtD,QAAO,UAAU,CAAC,QAAQ,EAC1B;YACI,KAAK,QAAQ,CAAC,KAAK;gBACnB;oBACI,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;oBAEpC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,OAAO;gBACrB;oBACI,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;oBAEpC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,WAAW;gBACzB;oBACI,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;oBAEpC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,KAAK;gBACnB;oBACI,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;oBAEpC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,KAAK;gBACnB;oBACI,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;oBAEpC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,OAAO;gBACrB;oBACI,UAAU,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;oBAEpC,MAAM;iBACT;YACD,KAAK,QAAQ,CAAC,GAAG;gBACjB;oBACI,MAAM;iBACT;SACJ;IACL,CAAC;CAEJ","sourcesContent":["import {LoggerEnricher} from '../../interfaces';\nimport {LogLevel, MessageLog} from '../../types';\n\nconst LOG_LEVEL = 'logLevel';\nconst LOG_LEVEL_SHORT = 'logLevelShort';\n\n/**\n * Enricher used for adding logLevel and logLevelShort properties\n */\nexport class LogLevelEnricher implements LoggerEnricher\n{\n //######################### public methods - implementation of LoggerEnricher #########################\n\n /**\n * @inheritdoc\n */\n public enrich(properties: Record<string, unknown>, messageLog: MessageLog<Record<string, unknown>>): void\n {\n properties[LOG_LEVEL] = LogLevel[messageLog.logLevel];\n \n switch(messageLog.logLevel)\n {\n case LogLevel.Debug:\n {\n properties[LOG_LEVEL_SHORT] = 'DBG';\n\n break;\n }\n case LogLevel.Verbose:\n {\n properties[LOG_LEVEL_SHORT] = 'VER';\n\n break;\n }\n case LogLevel.Information:\n {\n properties[LOG_LEVEL_SHORT] = 'INF';\n\n break;\n }\n case LogLevel.Error:\n {\n properties[LOG_LEVEL_SHORT] = 'ERR';\n\n break;\n }\n case LogLevel.Fatal:\n {\n properties[LOG_LEVEL_SHORT] = 'FTL';\n\n break;\n }\n case LogLevel.Warning:\n {\n properties[LOG_LEVEL_SHORT] = 'WRN';\n\n break;\n }\n case LogLevel.Off:\n {\n break;\n }\n }\n }\n\n}"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.interface.js","sourceRoot":"","sources":["../../../../../../src/modules/logger/services/logger/logger.interface.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Interface for general logger\n */\nexport interface Logger\n{\n //######################### public methods #########################\n\n /**\n * Logs an event with the log level fatal severity .\n * @param messageTemplate - Message template for the log event.\n * @param properties - Properties that can be used to render the message template.\n */\n fatal(messageTemplate: string, properties?: Record<string, unknown>): void;\n\n /**\n * Logs an event with the log level error severity .\n * @param messageTemplate - Message template for the log event.\n * @param properties - Properties that can be used to render the message template.\n */\n error(messageTemplate: string, properties?: Record<string, unknown>): void;\n\n /**\n * Logs an event with the log level warn severity .\n * @param messageTemplate - Message template for the log event.\n * @param properties - Properties that can be used to render the message template.\n */\n warn(messageTemplate: string, properties?: Record<string, unknown>): void;\n\n /**\n * Logs an event with the log level info severity .\n * @param messageTemplate - Message template for the log event.\n * @param properties - Properties that can be used to render the message template.\n */\n info(messageTemplate: string, properties?: Record<string, unknown>): void;\n\n /**\n * Logs an event with the log level debug severity .\n * @param messageTemplate - Message template for the log event.\n * @param properties - Properties that can be used to render the message template.\n */\n debug(messageTemplate: string, properties?: Record<string, unknown>): void;\n\n /**\n * Logs an event with the log level verbose severity .\n * @param messageTemplate - Message template for the log event.\n * @param properties - Properties that can be used to render the message template.\n */\n verbose(messageTemplate: string, properties?: Record<string, unknown>): void;\n}\n"]}
@@ -0,0 +1,107 @@
1
+ var DefaultLogger_1;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { Injectable, forwardRef } from '@angular/core';
4
+ import { isBlank } from '@jscrpt/common';
5
+ import { LogLevel, LoggerOptions, MessageLog } from '../../types';
6
+ import { loggerEnabled, useEnrichers } from '../../misc';
7
+ import { TypeProvider } from '../../../../types/providerDecoratedType';
8
+ import { LOGGER } from '../../../../types/tokens';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../types";
11
+ /**
12
+ * Default implementation of `Logger`
13
+ */
14
+ let DefaultLogger = DefaultLogger_1 = class DefaultLogger {
15
+ options;
16
+ //######################### constructor #########################
17
+ constructor(options) {
18
+ this.options = options;
19
+ }
20
+ //######################### public methods - implementation of Logger #########################
21
+ /**
22
+ * @inheritdoc
23
+ */
24
+ fatal(messageTemplate, properties) {
25
+ this.log(messageTemplate, LogLevel.Fatal, properties);
26
+ }
27
+ /**
28
+ * @inheritdoc
29
+ */
30
+ error(messageTemplate, properties) {
31
+ this.log(messageTemplate, LogLevel.Error, properties);
32
+ }
33
+ /**
34
+ * @inheritdoc
35
+ */
36
+ warn(messageTemplate, properties) {
37
+ this.log(messageTemplate, LogLevel.Warning, properties);
38
+ }
39
+ /**
40
+ * @inheritdoc
41
+ */
42
+ info(messageTemplate, properties) {
43
+ this.log(messageTemplate, LogLevel.Information, properties);
44
+ }
45
+ /**
46
+ * @inheritdoc
47
+ */
48
+ debug(messageTemplate, properties) {
49
+ this.log(messageTemplate, LogLevel.Debug, properties);
50
+ }
51
+ /**
52
+ * @inheritdoc
53
+ */
54
+ verbose(messageTemplate, properties) {
55
+ this.log(messageTemplate, LogLevel.Verbose, properties);
56
+ }
57
+ //######################### protected methods #########################
58
+ /**
59
+ * Performs log logic
60
+ * @param messageTemplate - Message template of log to be used for logging
61
+ * @param level - Log level to be logged
62
+ * @param properties - Properties provided by message log
63
+ */
64
+ log(messageTemplate, level, properties) {
65
+ const defaultLogLevelSinks = this.options.loggerSinks.filter(itm => isBlank(itm.minimumLogLevel));
66
+ const customLogLevelSinks = this.options.loggerSinks.filter(itm => !isBlank(itm.minimumLogLevel));
67
+ let loggerProperties;
68
+ const messageLog = new MessageLog(messageTemplate, level, properties ?? {});
69
+ let loggerFilterResult;
70
+ //only if logger is enabled
71
+ if (loggerEnabled(this.options.minimumLogLevel, level)) {
72
+ loggerProperties ??= useEnrichers(messageLog, this.options.enrichers);
73
+ loggerFilterResult = (!this.options.filter || this.options.filter(loggerProperties, messageLog));
74
+ if (loggerFilterResult) {
75
+ for (const sink of defaultLogLevelSinks) {
76
+ sink.log(this.options, loggerProperties, messageLog);
77
+ }
78
+ }
79
+ }
80
+ //custom log level loggers
81
+ for (const sink of customLogLevelSinks) {
82
+ if (loggerEnabled(sink.minimumLogLevel, level)) {
83
+ loggerProperties ??= useEnrichers(messageLog, this.options.enrichers);
84
+ loggerFilterResult ??= (!this.options.filter || this.options.filter(loggerProperties, messageLog));
85
+ const sinkProperties = {
86
+ ...loggerProperties,
87
+ ...useEnrichers(messageLog, sink.enrichers ?? []),
88
+ };
89
+ const filter = loggerFilterResult && (!sink.filter || sink.filter(sinkProperties, messageLog));
90
+ if (filter) {
91
+ sink.log(this.options, loggerProperties, messageLog);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DefaultLogger, deps: [{ token: i1.LoggerOptions }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DefaultLogger });
98
+ };
99
+ DefaultLogger = DefaultLogger_1 = __decorate([
100
+ TypeProvider({ provide: LOGGER, useClass: forwardRef(() => DefaultLogger_1) }),
101
+ __metadata("design:paramtypes", [LoggerOptions])
102
+ ], DefaultLogger);
103
+ export { DefaultLogger };
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DefaultLogger, decorators: [{
105
+ type: Injectable
106
+ }], ctorParameters: function () { return [{ type: i1.LoggerOptions }]; } });
107
+ //# sourceMappingURL=logger.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../../../src/modules/logger/services/logger/logger.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {Injectable, forwardRef} from '@angular/core';\nimport {isBlank} from '@jscrpt/common';\n\nimport {LogLevel, LoggerOptions, MessageLog} from '../../types';\nimport {loggerEnabled, useEnrichers} from '../../misc';\nimport {Logger} from './logger.interface';\nimport {TypeProvider} from '../../../../types/providerDecoratedType';\nimport {LOGGER} from '../../../../types/tokens';\n\n/**\n * Default implementation of `Logger`\n */\n@Injectable()\n@TypeProvider({provide: LOGGER, useClass: forwardRef(() => DefaultLogger)})\nexport class DefaultLogger implements Logger\n{\n //######################### constructor #########################\n constructor(protected options: LoggerOptions,)\n {\n }\n\n //######################### public methods - implementation of Logger #########################\n\n /**\n * @inheritdoc\n */\n public fatal(messageTemplate: string, properties?: Record<string, unknown>): void\n {\n this.log(messageTemplate, LogLevel.Fatal, properties);\n }\n\n /**\n * @inheritdoc\n */\n public error(messageTemplate: string, properties?: Record<string, unknown>): void\n {\n this.log(messageTemplate, LogLevel.Error, properties);\n }\n\n /**\n * @inheritdoc\n */\n public warn(messageTemplate: string, properties?: Record<string, unknown>): void\n {\n this.log(messageTemplate, LogLevel.Warning, properties);\n }\n\n /**\n * @inheritdoc\n */\n public info(messageTemplate: string, properties?: Record<string, unknown>): void\n {\n this.log(messageTemplate, LogLevel.Information, properties);\n }\n\n /**\n * @inheritdoc\n */\n public debug(messageTemplate: string, properties?: Record<string, unknown>): void\n {\n this.log(messageTemplate, LogLevel.Debug, properties);\n }\n\n /**\n * @inheritdoc\n */\n public verbose(messageTemplate: string, properties?: Record<string, unknown>): void\n {\n this.log(messageTemplate, LogLevel.Verbose, properties);\n }\n\n //######################### protected methods #########################\n\n /**\n * Performs log logic\n * @param messageTemplate - Message template of log to be used for logging\n * @param level - Log level to be logged\n * @param properties - Properties provided by message log\n */\n protected log(messageTemplate: string, level: LogLevel, properties?: Record<string, unknown>): void\n {\n const defaultLogLevelSinks = this.options.loggerSinks.filter(itm => isBlank(itm.minimumLogLevel));\n const customLogLevelSinks = this.options.loggerSinks.filter(itm => !isBlank(itm.minimumLogLevel));\n let loggerProperties: Record<string, unknown>;\n const messageLog = new MessageLog(messageTemplate, level, properties ?? {});\n let loggerFilterResult: boolean;\n\n //only if logger is enabled\n if(loggerEnabled(this.options.minimumLogLevel, level))\n {\n loggerProperties ??= useEnrichers(messageLog, this.options.enrichers);\n loggerFilterResult = (!this.options.filter || this.options.filter(loggerProperties, messageLog));\n\n if(loggerFilterResult)\n {\n for(const sink of defaultLogLevelSinks)\n {\n sink.log(this.options, loggerProperties, messageLog);\n }\n }\n }\n\n //custom log level loggers\n for(const sink of customLogLevelSinks)\n {\n if(loggerEnabled(sink.minimumLogLevel, level))\n {\n loggerProperties ??= useEnrichers(messageLog, this.options.enrichers);\n loggerFilterResult ??= (!this.options.filter || this.options.filter(loggerProperties, messageLog));\n const sinkProperties =\n {\n ...loggerProperties,\n ...useEnrichers(messageLog, sink.enrichers ?? []),\n };\n const filter = loggerFilterResult && (!sink.filter || sink.filter(sinkProperties, messageLog));\n\n if(filter)\n {\n sink.log(this.options, loggerProperties, messageLog);\n }\n }\n }\n }\n}"]}
@@ -0,0 +1,100 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { inject } from '@angular/core';
3
+ import { isPresent } from '@jscrpt/common';
4
+ import { lastValueFrom } from 'rxjs';
5
+ import { RestSinkOptions } from './restSink.options';
6
+ import { SinkType } from '../../decorators';
7
+ import { APP_STABLE } from '../../../../utils';
8
+ import { LOGGER_REST_CLIENT, loggerEnabled } from '../../misc';
9
+ import { LogLevel } from '../../types';
10
+ /**
11
+ * Sink that is used for storing logs using REST
12
+ */
13
+ let RestSink = class RestSink {
14
+ //######################### protected fields #########################
15
+ /**
16
+ * Array of unflushed logs
17
+ */
18
+ logs = [];
19
+ /**
20
+ * Interval timer id
21
+ */
22
+ timer;
23
+ /**
24
+ * Configuration options for rest sink
25
+ */
26
+ options = inject(RestSinkOptions);
27
+ /**
28
+ * Indication whether is app stable
29
+ */
30
+ isStable = inject(APP_STABLE);
31
+ /**
32
+ * Rest client used for sending logs through REST
33
+ */
34
+ restClient = inject(LOGGER_REST_CLIENT);
35
+ //######################### constructor #########################
36
+ constructor() {
37
+ if (!(this.options instanceof RestSinkOptions)) {
38
+ this.options = new RestSinkOptions();
39
+ }
40
+ this.isStable.then(() => {
41
+ this.timer = setInterval(() => {
42
+ this.flush();
43
+ }, (this.options.secondsToFlushAfter ?? 0) * 1000);
44
+ });
45
+ }
46
+ //######################### public methods - implementation of OnDestroy #########################
47
+ /**
48
+ * Called when component is destroyed
49
+ */
50
+ ngOnDestroy() {
51
+ if (isPresent(this.timer)) {
52
+ clearInterval(this.timer);
53
+ }
54
+ this.flush();
55
+ }
56
+ //######################### public methods - implementation of Sink #########################
57
+ /**
58
+ * @inheritdoc
59
+ */
60
+ log(options, loggerProperties, messageLog) {
61
+ let forceFlush = false;
62
+ const fullMessage = `${messageLog.buildMessage(options.messageTemplate ?? '{{messageLog}}', loggerProperties)}`;
63
+ this.logs.push({
64
+ logLevel: LogLevel[messageLog.logLevel],
65
+ message: fullMessage,
66
+ timestamp: messageLog.timestamp,
67
+ });
68
+ if (loggerEnabled(() => this.options.immediateFlushMinLevel, messageLog.logLevel)) {
69
+ forceFlush = true;
70
+ }
71
+ //flush if number of records is bigger than max or flush is required
72
+ if (forceFlush || this.logs.length >= this.options.flushAfterNumberOfLogs) {
73
+ this.flush();
74
+ }
75
+ }
76
+ /**
77
+ * Flushes logs
78
+ */
79
+ flush() {
80
+ let promise;
81
+ //no logs available
82
+ if (!this.logs.length) {
83
+ return Promise.resolve();
84
+ }
85
+ try {
86
+ promise = lastValueFrom(this.restClient.log(this.logs));
87
+ }
88
+ catch (e) {
89
+ console.log(e);
90
+ }
91
+ this.logs = [];
92
+ return promise ?? Promise.resolve();
93
+ }
94
+ };
95
+ RestSink = __decorate([
96
+ SinkType(),
97
+ __metadata("design:paramtypes", [])
98
+ ], RestSink);
99
+ export { RestSink };
100
+ //# sourceMappingURL=rest.sink.js.map