standard-log 8.0.1 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/README.md +57 -133
  2. package/{esm/console/createConsoleLogReporter.d.ts → cjs/console.d.ts} +5 -5
  3. package/cjs/console.d.ts.map +1 -0
  4. package/cjs/console.js +74 -0
  5. package/cjs/console.js.map +1 -0
  6. package/cjs/console.spec.d.ts +2 -0
  7. package/cjs/console.spec.d.ts.map +1 -0
  8. package/cjs/{console/createConsoleLogReporter.spec.js → console.spec.js} +50 -68
  9. package/cjs/console.spec.js.map +1 -0
  10. package/cjs/errors.d.ts +0 -10
  11. package/cjs/errors.d.ts.map +1 -1
  12. package/cjs/errors.js +1 -43
  13. package/cjs/errors.js.map +1 -1
  14. package/cjs/formatter.d.ts +6 -0
  15. package/cjs/formatter.d.ts.map +1 -0
  16. package/cjs/formatter.js +46 -0
  17. package/cjs/formatter.js.map +1 -0
  18. package/cjs/formatter.spec.d.ts +2 -0
  19. package/cjs/formatter.spec.d.ts.map +1 -0
  20. package/cjs/formatter.spec.js +32 -0
  21. package/cjs/formatter.spec.js.map +1 -0
  22. package/cjs/global.d.ts +13 -0
  23. package/cjs/global.d.ts.map +1 -0
  24. package/cjs/global.js +33 -0
  25. package/cjs/global.js.map +1 -0
  26. package/cjs/global.spec.d.ts +2 -0
  27. package/cjs/global.spec.d.ts.map +1 -0
  28. package/cjs/global.spec.js +32 -0
  29. package/cjs/global.spec.js.map +1 -0
  30. package/cjs/index.d.ts +6 -14
  31. package/cjs/index.d.ts.map +1 -1
  32. package/cjs/index.js +11 -14
  33. package/cjs/index.js.map +1 -1
  34. package/cjs/logLevels.d.ts +60 -0
  35. package/cjs/logLevels.d.ts.map +1 -0
  36. package/cjs/logLevels.js +87 -0
  37. package/cjs/logLevels.js.map +1 -0
  38. package/cjs/logStore.d.ts +20 -0
  39. package/cjs/logStore.d.ts.map +1 -0
  40. package/cjs/logStore.js +44 -0
  41. package/cjs/logStore.js.map +1 -0
  42. package/cjs/logStore.spec.d.ts +2 -0
  43. package/cjs/logStore.spec.d.ts.map +1 -0
  44. package/cjs/logStore.spec.js +93 -0
  45. package/cjs/logStore.spec.js.map +1 -0
  46. package/cjs/logger.d.ts +5 -0
  47. package/cjs/logger.d.ts.map +1 -0
  48. package/cjs/logger.js +99 -0
  49. package/cjs/logger.js.map +1 -0
  50. package/{esm/memory/MemoryLogReporter.d.ts → cjs/memory.d.ts} +2 -2
  51. package/cjs/memory.d.ts.map +1 -0
  52. package/cjs/memory.js +39 -0
  53. package/cjs/memory.js.map +1 -0
  54. package/cjs/memory.spec.d.ts +2 -0
  55. package/cjs/memory.spec.d.ts.map +1 -0
  56. package/cjs/memory.spec.js +115 -0
  57. package/cjs/memory.spec.js.map +1 -0
  58. package/cjs/package.json +1 -3
  59. package/cjs/platform.browser.d.ts +6 -0
  60. package/cjs/platform.browser.d.ts.map +1 -0
  61. package/cjs/platform.browser.js +7 -0
  62. package/cjs/platform.browser.js.map +1 -0
  63. package/cjs/platform.d.ts +6 -0
  64. package/cjs/platform.d.ts.map +1 -0
  65. package/cjs/platform.js +9 -0
  66. package/cjs/platform.js.map +1 -0
  67. package/cjs/standardLog.d.ts +28 -0
  68. package/cjs/standardLog.d.ts.map +1 -0
  69. package/cjs/standardLog.js +65 -0
  70. package/cjs/standardLog.js.map +1 -0
  71. package/cjs/standardLog.spec.d.ts +2 -0
  72. package/cjs/standardLog.spec.d.ts.map +1 -0
  73. package/cjs/standardLog.spec.js +548 -0
  74. package/cjs/standardLog.spec.js.map +1 -0
  75. package/cjs/testUtil.d.ts +7 -5
  76. package/cjs/testUtil.d.ts.map +1 -1
  77. package/cjs/testUtil.js +11 -14
  78. package/cjs/testUtil.js.map +1 -1
  79. package/cjs/types.d.ts +33 -24
  80. package/cjs/types.d.ts.map +1 -1
  81. package/cjs/types.js.map +1 -1
  82. package/dist/standard-log.es5.js +355 -1071
  83. package/dist/standard-log.es5.js.gz +0 -0
  84. package/dist/standard-log.es5.js.map +1 -1
  85. package/dist/standard-log.es5.js.map.gz +0 -0
  86. package/dist/standard-log.esm.js +353 -1135
  87. package/dist/standard-log.esm.js.gz +0 -0
  88. package/dist/standard-log.esm.js.map +1 -1
  89. package/dist/standard-log.esm.js.map.gz +0 -0
  90. package/{cjs/console/createConsoleLogReporter.d.ts → esm/console.d.ts} +5 -5
  91. package/esm/console.d.ts.map +1 -0
  92. package/esm/console.js +62 -0
  93. package/esm/console.js.map +1 -0
  94. package/esm/console.spec.d.ts +2 -0
  95. package/esm/console.spec.d.ts.map +1 -0
  96. package/esm/{console/createConsoleLogReporter.spec.js → console.spec.js} +50 -65
  97. package/esm/console.spec.js.map +1 -0
  98. package/esm/errors.d.ts +0 -10
  99. package/esm/errors.d.ts.map +1 -1
  100. package/esm/errors.js +0 -34
  101. package/esm/errors.js.map +1 -1
  102. package/esm/formatter.d.ts +6 -0
  103. package/esm/formatter.d.ts.map +1 -0
  104. package/esm/{formatter/createTimestampFormatter.js → formatter.js} +10 -2
  105. package/esm/formatter.js.map +1 -0
  106. package/esm/formatter.spec.d.ts +2 -0
  107. package/esm/formatter.spec.d.ts.map +1 -0
  108. package/esm/formatter.spec.js +30 -0
  109. package/esm/formatter.spec.js.map +1 -0
  110. package/esm/global.d.ts +13 -0
  111. package/esm/global.d.ts.map +1 -0
  112. package/esm/global.js +28 -0
  113. package/esm/global.js.map +1 -0
  114. package/esm/global.spec.d.ts +2 -0
  115. package/esm/global.spec.d.ts.map +1 -0
  116. package/esm/global.spec.js +30 -0
  117. package/esm/global.spec.js.map +1 -0
  118. package/esm/index.d.ts +6 -14
  119. package/esm/index.d.ts.map +1 -1
  120. package/esm/index.js +6 -14
  121. package/esm/index.js.map +1 -1
  122. package/esm/logLevels.d.ts +60 -0
  123. package/esm/logLevels.d.ts.map +1 -0
  124. package/esm/{logLevel.js → logLevels.js} +29 -3
  125. package/esm/logLevels.js.map +1 -0
  126. package/esm/logStore.d.ts +20 -0
  127. package/esm/logStore.d.ts.map +1 -0
  128. package/esm/logStore.js +37 -0
  129. package/esm/logStore.js.map +1 -0
  130. package/esm/logStore.spec.d.ts +2 -0
  131. package/esm/logStore.spec.d.ts.map +1 -0
  132. package/esm/logStore.spec.js +93 -0
  133. package/esm/logStore.spec.js.map +1 -0
  134. package/esm/logger.d.ts +5 -0
  135. package/esm/logger.d.ts.map +1 -0
  136. package/esm/logger.js +75 -0
  137. package/esm/logger.js.map +1 -0
  138. package/{cjs/memory/MemoryLogReporter.d.ts → esm/memory.d.ts} +2 -2
  139. package/esm/memory.d.ts.map +1 -0
  140. package/esm/memory.js +34 -0
  141. package/esm/memory.js.map +1 -0
  142. package/esm/memory.spec.d.ts +2 -0
  143. package/esm/memory.spec.d.ts.map +1 -0
  144. package/esm/memory.spec.js +110 -0
  145. package/esm/memory.spec.js.map +1 -0
  146. package/esm/platform.browser.d.ts +6 -0
  147. package/esm/platform.browser.d.ts.map +1 -0
  148. package/esm/platform.browser.js +3 -0
  149. package/esm/platform.browser.js.map +1 -0
  150. package/esm/platform.d.ts +6 -0
  151. package/esm/platform.d.ts.map +1 -0
  152. package/esm/platform.js +5 -0
  153. package/esm/platform.js.map +1 -0
  154. package/esm/standardLog.d.ts +28 -0
  155. package/esm/standardLog.d.ts.map +1 -0
  156. package/esm/standardLog.js +41 -0
  157. package/esm/standardLog.js.map +1 -0
  158. package/esm/standardLog.spec.d.ts +2 -0
  159. package/esm/standardLog.spec.d.ts.map +1 -0
  160. package/esm/standardLog.spec.js +446 -0
  161. package/esm/standardLog.spec.js.map +1 -0
  162. package/esm/testUtil.d.ts +7 -5
  163. package/esm/testUtil.d.ts.map +1 -1
  164. package/esm/testUtil.js +8 -12
  165. package/esm/testUtil.js.map +1 -1
  166. package/esm/types.d.ts +33 -24
  167. package/esm/types.d.ts.map +1 -1
  168. package/esm/types.js.map +1 -1
  169. package/package.json +10 -19
  170. package/ts/console.ts +70 -0
  171. package/ts/errors.ts +0 -12
  172. package/ts/{formatter/createTimestampFormatter.ts → formatter.ts} +12 -1
  173. package/ts/global.ts +34 -0
  174. package/ts/index.ts +9 -14
  175. package/ts/{logLevel.ts → logLevels.ts} +20 -3
  176. package/ts/logStore.ts +52 -0
  177. package/ts/logger.ts +85 -0
  178. package/ts/memory.ts +47 -0
  179. package/ts/platform.browser.ts +5 -0
  180. package/ts/platform.ts +8 -0
  181. package/ts/standardLog.ts +65 -0
  182. package/ts/types.ts +39 -30
  183. package/cjs/LogEntry.d.ts +0 -7
  184. package/cjs/LogEntry.d.ts.map +0 -1
  185. package/cjs/LogEntry.js +0 -3
  186. package/cjs/LogEntry.js.map +0 -1
  187. package/cjs/captureLogs.d.ts +0 -4
  188. package/cjs/captureLogs.d.ts.map +0 -1
  189. package/cjs/captureLogs.js +0 -33
  190. package/cjs/captureLogs.js.map +0 -1
  191. package/cjs/captureLogs.spec.d.ts +0 -2
  192. package/cjs/captureLogs.spec.d.ts.map +0 -1
  193. package/cjs/captureLogs.spec.js +0 -117
  194. package/cjs/captureLogs.spec.js.map +0 -1
  195. package/cjs/config.d.ts +0 -12
  196. package/cjs/config.d.ts.map +0 -1
  197. package/cjs/config.js +0 -59
  198. package/cjs/config.js.map +0 -1
  199. package/cjs/config.spec.d.ts +0 -2
  200. package/cjs/config.spec.d.ts.map +0 -1
  201. package/cjs/config.spec.js +0 -72
  202. package/cjs/config.spec.js.map +0 -1
  203. package/cjs/configForTest.d.ts +0 -5
  204. package/cjs/configForTest.d.ts.map +0 -1
  205. package/cjs/configForTest.js +0 -18
  206. package/cjs/configForTest.js.map +0 -1
  207. package/cjs/configForTest.spec.d.ts +0 -2
  208. package/cjs/configForTest.spec.d.ts.map +0 -1
  209. package/cjs/configForTest.spec.js +0 -17
  210. package/cjs/configForTest.spec.js.map +0 -1
  211. package/cjs/console/createConsoleLogReporter.d.ts.map +0 -1
  212. package/cjs/console/createConsoleLogReporter.js +0 -42
  213. package/cjs/console/createConsoleLogReporter.js.map +0 -1
  214. package/cjs/console/createConsoleLogReporter.spec.d.ts +0 -2
  215. package/cjs/console/createConsoleLogReporter.spec.d.ts.map +0 -1
  216. package/cjs/console/createConsoleLogReporter.spec.js.map +0 -1
  217. package/cjs/console/index.d.ts +0 -4
  218. package/cjs/console/index.d.ts.map +0 -1
  219. package/cjs/console/index.js +0 -20
  220. package/cjs/console/index.js.map +0 -1
  221. package/cjs/console/isConsoleDebugAvailable.d.ts +0 -2
  222. package/cjs/console/isConsoleDebugAvailable.d.ts.map +0 -1
  223. package/cjs/console/isConsoleDebugAvailable.js +0 -20
  224. package/cjs/console/isConsoleDebugAvailable.js.map +0 -1
  225. package/cjs/console/polyfilledConsole.d.ts +0 -7
  226. package/cjs/console/polyfilledConsole.d.ts.map +0 -1
  227. package/cjs/console/polyfilledConsole.js +0 -41
  228. package/cjs/console/polyfilledConsole.js.map +0 -1
  229. package/cjs/console/semverGt.d.ts +0 -2
  230. package/cjs/console/semverGt.d.ts.map +0 -1
  231. package/cjs/console/semverGt.js +0 -13
  232. package/cjs/console/semverGt.js.map +0 -1
  233. package/cjs/console/semverGt.spec.d.ts +0 -2
  234. package/cjs/console/semverGt.spec.d.ts.map +0 -1
  235. package/cjs/console/semverGt.spec.js +0 -22
  236. package/cjs/console/semverGt.spec.js.map +0 -1
  237. package/cjs/console/toConsoleMethod.d.ts +0 -2
  238. package/cjs/console/toConsoleMethod.d.ts.map +0 -1
  239. package/cjs/console/toConsoleMethod.js +0 -22
  240. package/cjs/console/toConsoleMethod.js.map +0 -1
  241. package/cjs/console/types.d.ts +0 -3
  242. package/cjs/console/types.d.ts.map +0 -1
  243. package/cjs/console/types.js +0 -3
  244. package/cjs/console/types.js.map +0 -1
  245. package/cjs/customLogLevel.d.ts +0 -11
  246. package/cjs/customLogLevel.d.ts.map +0 -1
  247. package/cjs/customLogLevel.js +0 -38
  248. package/cjs/customLogLevel.js.map +0 -1
  249. package/cjs/customLogLevel.spec.d.ts +0 -2
  250. package/cjs/customLogLevel.spec.d.ts.map +0 -1
  251. package/cjs/customLogLevel.spec.js +0 -37
  252. package/cjs/customLogLevel.spec.js.map +0 -1
  253. package/cjs/formatter/createTimestampFormatter.d.ts +0 -3
  254. package/cjs/formatter/createTimestampFormatter.d.ts.map +0 -1
  255. package/cjs/formatter/createTimestampFormatter.js +0 -26
  256. package/cjs/formatter/createTimestampFormatter.js.map +0 -1
  257. package/cjs/formatter/createTimestampFormatter.spec.d.ts +0 -2
  258. package/cjs/formatter/createTimestampFormatter.spec.d.ts.map +0 -1
  259. package/cjs/formatter/createTimestampFormatter.spec.js +0 -23
  260. package/cjs/formatter/createTimestampFormatter.spec.js.map +0 -1
  261. package/cjs/formatter/formatLogLevel.d.ts +0 -2
  262. package/cjs/formatter/formatLogLevel.d.ts.map +0 -1
  263. package/cjs/formatter/formatLogLevel.js +0 -10
  264. package/cjs/formatter/formatLogLevel.js.map +0 -1
  265. package/cjs/formatter/index.d.ts +0 -4
  266. package/cjs/formatter/index.d.ts.map +0 -1
  267. package/cjs/formatter/index.js +0 -20
  268. package/cjs/formatter/index.js.map +0 -1
  269. package/cjs/formatter/plainLogFormatter.d.ts +0 -3
  270. package/cjs/formatter/plainLogFormatter.d.ts.map +0 -1
  271. package/cjs/formatter/plainLogFormatter.js +0 -19
  272. package/cjs/formatter/plainLogFormatter.js.map +0 -1
  273. package/cjs/formatter/plainLogFormatter.spec.d.ts +0 -2
  274. package/cjs/formatter/plainLogFormatter.spec.d.ts.map +0 -1
  275. package/cjs/formatter/plainLogFormatter.spec.js +0 -9
  276. package/cjs/formatter/plainLogFormatter.spec.js.map +0 -1
  277. package/cjs/getDefaultReporter.browser.d.ts +0 -2
  278. package/cjs/getDefaultReporter.browser.d.ts.map +0 -1
  279. package/cjs/getDefaultReporter.browser.js +0 -15
  280. package/cjs/getDefaultReporter.browser.js.map +0 -1
  281. package/cjs/getDefaultReporter.d.ts +0 -2
  282. package/cjs/getDefaultReporter.d.ts.map +0 -1
  283. package/cjs/getDefaultReporter.js +0 -19
  284. package/cjs/getDefaultReporter.js.map +0 -1
  285. package/cjs/getLogModeFromEnvironment.browser.d.ts +0 -3
  286. package/cjs/getLogModeFromEnvironment.browser.d.ts.map +0 -1
  287. package/cjs/getLogModeFromEnvironment.browser.js +0 -9
  288. package/cjs/getLogModeFromEnvironment.browser.js.map +0 -1
  289. package/cjs/getLogModeFromEnvironment.d.ts +0 -3
  290. package/cjs/getLogModeFromEnvironment.d.ts.map +0 -1
  291. package/cjs/getLogModeFromEnvironment.js +0 -17
  292. package/cjs/getLogModeFromEnvironment.js.map +0 -1
  293. package/cjs/getLogModeFromEnvironment.spec.d.ts +0 -2
  294. package/cjs/getLogModeFromEnvironment.spec.d.ts.map +0 -1
  295. package/cjs/getLogModeFromEnvironment.spec.js +0 -25
  296. package/cjs/getLogModeFromEnvironment.spec.js.map +0 -1
  297. package/cjs/getLogger.d.ts +0 -9
  298. package/cjs/getLogger.d.ts.map +0 -1
  299. package/cjs/getLogger.js +0 -103
  300. package/cjs/getLogger.js.map +0 -1
  301. package/cjs/getLogger.spec.d.ts +0 -2
  302. package/cjs/getLogger.spec.d.ts.map +0 -1
  303. package/cjs/getLogger.spec.js +0 -485
  304. package/cjs/getLogger.spec.js.map +0 -1
  305. package/cjs/getLoggers.d.ts +0 -7
  306. package/cjs/getLoggers.d.ts.map +0 -1
  307. package/cjs/getLoggers.js +0 -15
  308. package/cjs/getLoggers.js.map +0 -1
  309. package/cjs/logLevel.d.ts +0 -106
  310. package/cjs/logLevel.d.ts.map +0 -1
  311. package/cjs/logLevel.js +0 -59
  312. package/cjs/logLevel.js.map +0 -1
  313. package/cjs/logLevel.spec.d.ts +0 -2
  314. package/cjs/logLevel.spec.d.ts.map +0 -1
  315. package/cjs/logLevel.spec.js +0 -195
  316. package/cjs/logLevel.spec.js.map +0 -1
  317. package/cjs/logLevelFn.d.ts +0 -20
  318. package/cjs/logLevelFn.d.ts.map +0 -1
  319. package/cjs/logLevelFn.js +0 -76
  320. package/cjs/logLevelFn.js.map +0 -1
  321. package/cjs/logReporter.d.ts +0 -7
  322. package/cjs/logReporter.d.ts.map +0 -1
  323. package/cjs/logReporter.js +0 -29
  324. package/cjs/logReporter.js.map +0 -1
  325. package/cjs/logReporter.spec.d.ts +0 -2
  326. package/cjs/logReporter.spec.d.ts.map +0 -1
  327. package/cjs/logReporter.spec.js +0 -98
  328. package/cjs/logReporter.spec.js.map +0 -1
  329. package/cjs/logReporterInternal.d.ts +0 -3
  330. package/cjs/logReporterInternal.d.ts.map +0 -1
  331. package/cjs/logReporterInternal.js +0 -23
  332. package/cjs/logReporterInternal.js.map +0 -1
  333. package/cjs/memory/MemoryLogReporter.d.ts.map +0 -1
  334. package/cjs/memory/MemoryLogReporter.js +0 -56
  335. package/cjs/memory/MemoryLogReporter.js.map +0 -1
  336. package/cjs/memory/MemoryLogReporter.spec.d.ts +0 -2
  337. package/cjs/memory/MemoryLogReporter.spec.d.ts.map +0 -1
  338. package/cjs/memory/MemoryLogReporter.spec.js +0 -124
  339. package/cjs/memory/MemoryLogReporter.spec.js.map +0 -1
  340. package/cjs/memory/index.d.ts +0 -3
  341. package/cjs/memory/index.d.ts.map +0 -1
  342. package/cjs/memory/index.js +0 -19
  343. package/cjs/memory/index.js.map +0 -1
  344. package/cjs/memory/logEntriesToString.d.ts +0 -3
  345. package/cjs/memory/logEntriesToString.d.ts.map +0 -1
  346. package/cjs/memory/logEntriesToString.js +0 -10
  347. package/cjs/memory/logEntriesToString.js.map +0 -1
  348. package/cjs/memory/logEntriesToString.spec.d.ts +0 -2
  349. package/cjs/memory/logEntriesToString.spec.d.ts.map +0 -1
  350. package/cjs/memory/logEntriesToString.spec.js +0 -36
  351. package/cjs/memory/logEntriesToString.spec.js.map +0 -1
  352. package/cjs/memory/toInspectStringForObject.d.ts +0 -3
  353. package/cjs/memory/toInspectStringForObject.d.ts.map +0 -1
  354. package/cjs/memory/toInspectStringForObject.js +0 -17
  355. package/cjs/memory/toInspectStringForObject.js.map +0 -1
  356. package/cjs/shouldLog.d.ts +0 -8
  357. package/cjs/shouldLog.d.ts.map +0 -1
  358. package/cjs/shouldLog.js +0 -14
  359. package/cjs/shouldLog.js.map +0 -1
  360. package/cjs/store.d.ts +0 -3
  361. package/cjs/store.d.ts.map +0 -1
  362. package/cjs/store.js +0 -27
  363. package/cjs/store.js.map +0 -1
  364. package/cjs/suppressLogs.d.ts +0 -6
  365. package/cjs/suppressLogs.d.ts.map +0 -1
  366. package/cjs/suppressLogs.js +0 -17
  367. package/cjs/suppressLogs.js.map +0 -1
  368. package/cjs/suppressLogs.spec.d.ts +0 -2
  369. package/cjs/suppressLogs.spec.d.ts.map +0 -1
  370. package/cjs/suppressLogs.spec.js +0 -31
  371. package/cjs/suppressLogs.spec.js.map +0 -1
  372. package/cjs/typesInternal.d.ts +0 -20
  373. package/cjs/typesInternal.d.ts.map +0 -1
  374. package/cjs/typesInternal.js +0 -3
  375. package/cjs/typesInternal.js.map +0 -1
  376. package/cjs/utils.d.ts +0 -6
  377. package/cjs/utils.d.ts.map +0 -1
  378. package/cjs/utils.js +0 -15
  379. package/cjs/utils.js.map +0 -1
  380. package/cjs/writeToReporters.d.ts +0 -6
  381. package/cjs/writeToReporters.d.ts.map +0 -1
  382. package/cjs/writeToReporters.js +0 -22
  383. package/cjs/writeToReporters.js.map +0 -1
  384. package/cjs/writeToReporters.spec.d.ts +0 -2
  385. package/cjs/writeToReporters.spec.d.ts.map +0 -1
  386. package/cjs/writeToReporters.spec.js +0 -59
  387. package/cjs/writeToReporters.spec.js.map +0 -1
  388. package/esm/LogEntry.d.ts +0 -7
  389. package/esm/LogEntry.d.ts.map +0 -1
  390. package/esm/LogEntry.js +0 -2
  391. package/esm/LogEntry.js.map +0 -1
  392. package/esm/captureLogs.d.ts +0 -4
  393. package/esm/captureLogs.d.ts.map +0 -1
  394. package/esm/captureLogs.js +0 -29
  395. package/esm/captureLogs.js.map +0 -1
  396. package/esm/captureLogs.spec.d.ts +0 -2
  397. package/esm/captureLogs.spec.d.ts.map +0 -1
  398. package/esm/captureLogs.spec.js +0 -45
  399. package/esm/captureLogs.spec.js.map +0 -1
  400. package/esm/config.d.ts +0 -12
  401. package/esm/config.d.ts.map +0 -1
  402. package/esm/config.js +0 -44
  403. package/esm/config.js.map +0 -1
  404. package/esm/config.spec.d.ts +0 -2
  405. package/esm/config.spec.d.ts.map +0 -1
  406. package/esm/config.spec.js +0 -67
  407. package/esm/config.spec.js.map +0 -1
  408. package/esm/configForTest.d.ts +0 -5
  409. package/esm/configForTest.d.ts.map +0 -1
  410. package/esm/configForTest.js +0 -14
  411. package/esm/configForTest.js.map +0 -1
  412. package/esm/configForTest.spec.d.ts +0 -2
  413. package/esm/configForTest.spec.d.ts.map +0 -1
  414. package/esm/configForTest.spec.js +0 -15
  415. package/esm/configForTest.spec.js.map +0 -1
  416. package/esm/console/createConsoleLogReporter.d.ts.map +0 -1
  417. package/esm/console/createConsoleLogReporter.js +0 -37
  418. package/esm/console/createConsoleLogReporter.js.map +0 -1
  419. package/esm/console/createConsoleLogReporter.spec.d.ts +0 -2
  420. package/esm/console/createConsoleLogReporter.spec.d.ts.map +0 -1
  421. package/esm/console/createConsoleLogReporter.spec.js.map +0 -1
  422. package/esm/console/index.d.ts +0 -4
  423. package/esm/console/index.d.ts.map +0 -1
  424. package/esm/console/index.js +0 -4
  425. package/esm/console/index.js.map +0 -1
  426. package/esm/console/isConsoleDebugAvailable.d.ts +0 -2
  427. package/esm/console/isConsoleDebugAvailable.d.ts.map +0 -1
  428. package/esm/console/isConsoleDebugAvailable.js +0 -13
  429. package/esm/console/isConsoleDebugAvailable.js.map +0 -1
  430. package/esm/console/polyfilledConsole.d.ts +0 -7
  431. package/esm/console/polyfilledConsole.d.ts.map +0 -1
  432. package/esm/console/polyfilledConsole.js +0 -32
  433. package/esm/console/polyfilledConsole.js.map +0 -1
  434. package/esm/console/semverGt.d.ts +0 -2
  435. package/esm/console/semverGt.d.ts.map +0 -1
  436. package/esm/console/semverGt.js +0 -9
  437. package/esm/console/semverGt.js.map +0 -1
  438. package/esm/console/semverGt.spec.d.ts +0 -2
  439. package/esm/console/semverGt.spec.d.ts.map +0 -1
  440. package/esm/console/semverGt.spec.js +0 -20
  441. package/esm/console/semverGt.spec.js.map +0 -1
  442. package/esm/console/toConsoleMethod.d.ts +0 -2
  443. package/esm/console/toConsoleMethod.d.ts.map +0 -1
  444. package/esm/console/toConsoleMethod.js +0 -18
  445. package/esm/console/toConsoleMethod.js.map +0 -1
  446. package/esm/console/types.d.ts +0 -3
  447. package/esm/console/types.d.ts.map +0 -1
  448. package/esm/console/types.js +0 -2
  449. package/esm/console/types.js.map +0 -1
  450. package/esm/customLogLevel.d.ts +0 -11
  451. package/esm/customLogLevel.d.ts.map +0 -1
  452. package/esm/customLogLevel.js +0 -30
  453. package/esm/customLogLevel.js.map +0 -1
  454. package/esm/customLogLevel.spec.d.ts +0 -2
  455. package/esm/customLogLevel.spec.d.ts.map +0 -1
  456. package/esm/customLogLevel.spec.js +0 -32
  457. package/esm/customLogLevel.spec.js.map +0 -1
  458. package/esm/formatter/createTimestampFormatter.d.ts +0 -3
  459. package/esm/formatter/createTimestampFormatter.d.ts.map +0 -1
  460. package/esm/formatter/createTimestampFormatter.js.map +0 -1
  461. package/esm/formatter/createTimestampFormatter.spec.d.ts +0 -2
  462. package/esm/formatter/createTimestampFormatter.spec.d.ts.map +0 -1
  463. package/esm/formatter/createTimestampFormatter.spec.js +0 -21
  464. package/esm/formatter/createTimestampFormatter.spec.js.map +0 -1
  465. package/esm/formatter/formatLogLevel.d.ts +0 -2
  466. package/esm/formatter/formatLogLevel.d.ts.map +0 -1
  467. package/esm/formatter/formatLogLevel.js +0 -6
  468. package/esm/formatter/formatLogLevel.js.map +0 -1
  469. package/esm/formatter/index.d.ts +0 -4
  470. package/esm/formatter/index.d.ts.map +0 -1
  471. package/esm/formatter/index.js +0 -4
  472. package/esm/formatter/index.js.map +0 -1
  473. package/esm/formatter/plainLogFormatter.d.ts +0 -3
  474. package/esm/formatter/plainLogFormatter.d.ts.map +0 -1
  475. package/esm/formatter/plainLogFormatter.js +0 -5
  476. package/esm/formatter/plainLogFormatter.js.map +0 -1
  477. package/esm/formatter/plainLogFormatter.spec.d.ts +0 -2
  478. package/esm/formatter/plainLogFormatter.spec.d.ts.map +0 -1
  479. package/esm/formatter/plainLogFormatter.spec.js +0 -7
  480. package/esm/formatter/plainLogFormatter.spec.js.map +0 -1
  481. package/esm/getDefaultReporter.browser.d.ts +0 -2
  482. package/esm/getDefaultReporter.browser.d.ts.map +0 -1
  483. package/esm/getDefaultReporter.browser.js +0 -11
  484. package/esm/getDefaultReporter.browser.js.map +0 -1
  485. package/esm/getDefaultReporter.d.ts +0 -2
  486. package/esm/getDefaultReporter.d.ts.map +0 -1
  487. package/esm/getDefaultReporter.js +0 -15
  488. package/esm/getDefaultReporter.js.map +0 -1
  489. package/esm/getLogModeFromEnvironment.browser.d.ts +0 -3
  490. package/esm/getLogModeFromEnvironment.browser.d.ts.map +0 -1
  491. package/esm/getLogModeFromEnvironment.browser.js +0 -5
  492. package/esm/getLogModeFromEnvironment.browser.js.map +0 -1
  493. package/esm/getLogModeFromEnvironment.d.ts +0 -3
  494. package/esm/getLogModeFromEnvironment.d.ts.map +0 -1
  495. package/esm/getLogModeFromEnvironment.js +0 -13
  496. package/esm/getLogModeFromEnvironment.js.map +0 -1
  497. package/esm/getLogModeFromEnvironment.spec.d.ts +0 -2
  498. package/esm/getLogModeFromEnvironment.spec.d.ts.map +0 -1
  499. package/esm/getLogModeFromEnvironment.spec.js +0 -20
  500. package/esm/getLogModeFromEnvironment.spec.js.map +0 -1
  501. package/esm/getLogger.d.ts +0 -9
  502. package/esm/getLogger.d.ts.map +0 -1
  503. package/esm/getLogger.js +0 -78
  504. package/esm/getLogger.js.map +0 -1
  505. package/esm/getLogger.spec.d.ts +0 -2
  506. package/esm/getLogger.spec.d.ts.map +0 -1
  507. package/esm/getLogger.spec.js +0 -385
  508. package/esm/getLogger.spec.js.map +0 -1
  509. package/esm/getLoggers.d.ts +0 -7
  510. package/esm/getLoggers.d.ts.map +0 -1
  511. package/esm/getLoggers.js +0 -11
  512. package/esm/getLoggers.js.map +0 -1
  513. package/esm/logLevel.d.ts +0 -106
  514. package/esm/logLevel.d.ts.map +0 -1
  515. package/esm/logLevel.js.map +0 -1
  516. package/esm/logLevel.spec.d.ts +0 -2
  517. package/esm/logLevel.spec.d.ts.map +0 -1
  518. package/esm/logLevel.spec.js +0 -148
  519. package/esm/logLevel.spec.js.map +0 -1
  520. package/esm/logLevelFn.d.ts +0 -20
  521. package/esm/logLevelFn.d.ts.map +0 -1
  522. package/esm/logLevelFn.js +0 -67
  523. package/esm/logLevelFn.js.map +0 -1
  524. package/esm/logReporter.d.ts +0 -7
  525. package/esm/logReporter.d.ts.map +0 -1
  526. package/esm/logReporter.js +0 -21
  527. package/esm/logReporter.js.map +0 -1
  528. package/esm/logReporter.spec.d.ts +0 -2
  529. package/esm/logReporter.spec.d.ts.map +0 -1
  530. package/esm/logReporter.spec.js +0 -93
  531. package/esm/logReporter.spec.js.map +0 -1
  532. package/esm/logReporterInternal.d.ts +0 -3
  533. package/esm/logReporterInternal.d.ts.map +0 -1
  534. package/esm/logReporterInternal.js +0 -19
  535. package/esm/logReporterInternal.js.map +0 -1
  536. package/esm/memory/MemoryLogReporter.d.ts.map +0 -1
  537. package/esm/memory/MemoryLogReporter.js +0 -51
  538. package/esm/memory/MemoryLogReporter.js.map +0 -1
  539. package/esm/memory/MemoryLogReporter.spec.d.ts +0 -2
  540. package/esm/memory/MemoryLogReporter.spec.d.ts.map +0 -1
  541. package/esm/memory/MemoryLogReporter.spec.js +0 -111
  542. package/esm/memory/MemoryLogReporter.spec.js.map +0 -1
  543. package/esm/memory/index.d.ts +0 -3
  544. package/esm/memory/index.d.ts.map +0 -1
  545. package/esm/memory/index.js +0 -3
  546. package/esm/memory/index.js.map +0 -1
  547. package/esm/memory/logEntriesToString.d.ts +0 -3
  548. package/esm/memory/logEntriesToString.d.ts.map +0 -1
  549. package/esm/memory/logEntriesToString.js +0 -6
  550. package/esm/memory/logEntriesToString.js.map +0 -1
  551. package/esm/memory/logEntriesToString.spec.d.ts +0 -2
  552. package/esm/memory/logEntriesToString.spec.d.ts.map +0 -1
  553. package/esm/memory/logEntriesToString.spec.js +0 -42
  554. package/esm/memory/logEntriesToString.spec.js.map +0 -1
  555. package/esm/memory/toInspectStringForObject.d.ts +0 -3
  556. package/esm/memory/toInspectStringForObject.d.ts.map +0 -1
  557. package/esm/memory/toInspectStringForObject.js +0 -11
  558. package/esm/memory/toInspectStringForObject.js.map +0 -1
  559. package/esm/shouldLog.d.ts +0 -8
  560. package/esm/shouldLog.d.ts.map +0 -1
  561. package/esm/shouldLog.js +0 -10
  562. package/esm/shouldLog.js.map +0 -1
  563. package/esm/store.d.ts +0 -3
  564. package/esm/store.d.ts.map +0 -1
  565. package/esm/store.js +0 -24
  566. package/esm/store.js.map +0 -1
  567. package/esm/suppressLogs.d.ts +0 -6
  568. package/esm/suppressLogs.d.ts.map +0 -1
  569. package/esm/suppressLogs.js +0 -9
  570. package/esm/suppressLogs.js.map +0 -1
  571. package/esm/suppressLogs.spec.d.ts +0 -2
  572. package/esm/suppressLogs.spec.d.ts.map +0 -1
  573. package/esm/suppressLogs.spec.js +0 -29
  574. package/esm/suppressLogs.spec.js.map +0 -1
  575. package/esm/typesInternal.d.ts +0 -20
  576. package/esm/typesInternal.d.ts.map +0 -1
  577. package/esm/typesInternal.js +0 -2
  578. package/esm/typesInternal.js.map +0 -1
  579. package/esm/utils.d.ts +0 -6
  580. package/esm/utils.d.ts.map +0 -1
  581. package/esm/utils.js +0 -11
  582. package/esm/utils.js.map +0 -1
  583. package/esm/writeToReporters.d.ts +0 -6
  584. package/esm/writeToReporters.d.ts.map +0 -1
  585. package/esm/writeToReporters.js +0 -18
  586. package/esm/writeToReporters.js.map +0 -1
  587. package/esm/writeToReporters.spec.d.ts +0 -2
  588. package/esm/writeToReporters.spec.d.ts.map +0 -1
  589. package/esm/writeToReporters.spec.js +0 -9
  590. package/esm/writeToReporters.spec.js.map +0 -1
  591. package/ts/LogEntry.ts +0 -7
  592. package/ts/captureLogs.ts +0 -35
  593. package/ts/config.ts +0 -57
  594. package/ts/configForTest.ts +0 -16
  595. package/ts/console/createConsoleLogReporter.ts +0 -48
  596. package/ts/console/index.ts +0 -3
  597. package/ts/console/isConsoleDebugAvailable.ts +0 -11
  598. package/ts/console/polyfilledConsole.ts +0 -34
  599. package/ts/console/semverGt.ts +0 -9
  600. package/ts/console/toConsoleMethod.ts +0 -18
  601. package/ts/console/types.ts +0 -3
  602. package/ts/customLogLevel.ts +0 -35
  603. package/ts/formatter/formatLogLevel.ts +0 -6
  604. package/ts/formatter/index.ts +0 -3
  605. package/ts/formatter/plainLogFormatter.ts +0 -6
  606. package/ts/getDefaultReporter.browser.ts +0 -13
  607. package/ts/getDefaultReporter.ts +0 -15
  608. package/ts/getLogModeFromEnvironment.browser.ts +0 -6
  609. package/ts/getLogModeFromEnvironment.ts +0 -16
  610. package/ts/getLogger.ts +0 -92
  611. package/ts/getLoggers.ts +0 -12
  612. package/ts/logLevelFn.ts +0 -72
  613. package/ts/logReporter.ts +0 -26
  614. package/ts/logReporterInternal.ts +0 -18
  615. package/ts/memory/MemoryLogReporter.ts +0 -72
  616. package/ts/memory/index.ts +0 -2
  617. package/ts/memory/logEntriesToString.ts +0 -7
  618. package/ts/memory/toInspectStringForObject.ts +0 -13
  619. package/ts/shouldLog.ts +0 -11
  620. package/ts/store.ts +0 -25
  621. package/ts/suppressLogs.ts +0 -14
  622. package/ts/typesInternal.ts +0 -21
  623. package/ts/utils.ts +0 -11
  624. package/ts/writeToReporters.ts +0 -20
@@ -1,485 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- var assertron_1 = __importDefault(require("assertron"));
43
- var delay_1 = __importDefault(require("delay"));
44
- var index_js_1 = require("./index.js");
45
- var config_js_1 = require("./config.js");
46
- var index_js_2 = require("./memory/index.js");
47
- var store_js_1 = require("./store.js");
48
- var testUtil_js_1 = require("./testUtil.js");
49
- afterEach(function () {
50
- (0, index_js_1.clearCustomLogLevel)();
51
- store_js_1.store.reset();
52
- });
53
- test('logger id supports alphanumeric and :_-.', function () {
54
- (0, index_js_1.getLogger)('abcdefghijklmnopqrstuvwxyz:-_.1234567890');
55
- });
56
- test('logger id supports unicode', function () {
57
- (0, index_js_1.getLogger)('ミク香港');
58
- });
59
- test('logger id supports @, \\ and /', function () {
60
- (0, index_js_1.getLogger)('@unional/fixture');
61
- (0, index_js_1.getLogger)("a\\b\\c");
62
- });
63
- test.each('`~!#$%^&*()=+|[]{}<>,?'.split(''))('throws if id has unsupported character %s', function (char) {
64
- assertron_1.default.throws(function () { return (0, index_js_1.getLogger)(char); }, index_js_1.InvalidId);
65
- });
66
- it('throw InvalidId with ssf to the call site', function () {
67
- var err = assertron_1.default.throws(function () { return (0, index_js_1.getLogger)('!'); }, index_js_1.InvalidId);
68
- (0, testUtil_js_1.assertSSF)(err, __filename);
69
- });
70
- test('get logger with same name gets the same instance', function () {
71
- var expected = (0, index_js_1.getLogger)('same-inst');
72
- var actual = (0, index_js_1.getLogger)('same-inst');
73
- expect(actual).toBe(expected);
74
- });
75
- test('can specify local log level', function () {
76
- var log = (0, index_js_1.getLogger)('local', { level: index_js_1.logLevels.trace });
77
- expect(log.level).toBe(index_js_1.logLevels.trace);
78
- });
79
- test('new logger will get custom level', function () {
80
- (0, index_js_1.addCustomLogLevel)('to_logger', 1234);
81
- var actual = (0, index_js_1.getLogger)('to_logger_logger');
82
- expect(typeof actual.to_logger).toBe('function');
83
- });
84
- test('existing logger will get custom level', function () {
85
- var actual = (0, index_js_1.getLogger)('old_logger');
86
- (0, index_js_1.addCustomLogLevel)('old_logger', 122);
87
- expect(typeof actual.old_logger).toBe('function');
88
- });
89
- describe('validate write to reporters', function () {
90
- var capture;
91
- beforeEach(function () {
92
- store_js_1.store.value.mode = 'test';
93
- store_js_1.store.value.logLevel = index_js_1.logLevels.debug;
94
- capture = (0, testUtil_js_1.captureWrittenLog)();
95
- });
96
- afterEach(function () {
97
- capture.reset();
98
- });
99
- test('logger with custom level', function () { return __awaiter(void 0, void 0, void 0, function () {
100
- var logger;
101
- return __generator(this, function (_a) {
102
- (0, index_js_1.addCustomLogLevel)('cust_lvl', 100);
103
- logger = (0, index_js_1.getLogger)('cust');
104
- logger.cust_lvl('a', 'b');
105
- assertron_1.default.satisfies(capture.logs, [{ id: 'cust', level: 100, args: ['a', 'b'] }]);
106
- return [2 /*return*/];
107
- });
108
- }); });
109
- describe('count()', function () {
110
- test('will increment the counter', function () { return __awaiter(void 0, void 0, void 0, function () {
111
- var logger;
112
- return __generator(this, function (_a) {
113
- logger = (0, index_js_1.getLogger)('inc counter');
114
- logger.count();
115
- logger.count();
116
- assertron_1.default.satisfies(capture.logs, [
117
- { id: 'inc counter', level: index_js_1.logLevels.debug, args: [1] },
118
- { id: 'inc counter', level: index_js_1.logLevels.debug, args: [2] }
119
- ]);
120
- return [2 /*return*/];
121
- });
122
- }); });
123
- test('append args after the counter', function () { return __awaiter(void 0, void 0, void 0, function () {
124
- var id, logger;
125
- return __generator(this, function (_a) {
126
- store_js_1.store.value.logLevel = index_js_1.logLevels.debug;
127
- id = 'inc with args';
128
- logger = (0, index_js_1.getLogger)(id);
129
- logger.count('msg1', 'msg2');
130
- assertron_1.default.satisfies(capture.logs, [
131
- { id: id, level: index_js_1.logLevels.debug, args: [1, 'msg1', 'msg2'] }
132
- ]);
133
- return [2 /*return*/];
134
- });
135
- }); });
136
- test('not log if log level is less than debug', function () { return __awaiter(void 0, void 0, void 0, function () {
137
- var id, logger;
138
- return __generator(this, function (_a) {
139
- store_js_1.store.value.logLevel = index_js_1.logLevels.debug - 1;
140
- id = 'inc with args';
141
- logger = (0, index_js_1.getLogger)(id);
142
- logger.count('msg1', 'msg2');
143
- expect(capture.logs.length).toBe(0);
144
- return [2 /*return*/];
145
- });
146
- }); });
147
- });
148
- describe('log level tests', function () {
149
- beforeEach(function () {
150
- store_js_1.store.value.mode = 'test';
151
- store_js_1.store.value.logLevel = index_js_1.logLevels.error;
152
- });
153
- afterEach(function () {
154
- store_js_1.store.reset();
155
- });
156
- function assertLoggedAtLevel(log, level) {
157
- return __awaiter(this, void 0, void 0, function () {
158
- var msg;
159
- return __generator(this, function (_a) {
160
- (0, index_js_1.setLogLevel)(level);
161
- msg = "should log on level: ".concat(level);
162
- log[log.id](msg);
163
- assertron_1.default.satisfies(capture.logs, [{ id: log.id, level: (0, index_js_1.toLogLevel)(log.id), args: [msg] }]);
164
- return [2 /*return*/];
165
- });
166
- });
167
- }
168
- function assertNotLoggedAtLevel(log, level) {
169
- return __awaiter(this, void 0, void 0, function () {
170
- return __generator(this, function (_a) {
171
- (0, index_js_1.setLogLevel)(level);
172
- log[log.id]("should not log on level: ".concat(level));
173
- expect(capture.logs.length).toBe(0);
174
- return [2 /*return*/];
175
- });
176
- });
177
- }
178
- function assertLoggedAtLocalLevel(log, globalLevel, localLevel) {
179
- return __awaiter(this, void 0, void 0, function () {
180
- var msg;
181
- return __generator(this, function (_a) {
182
- (0, index_js_1.setLogLevel)(globalLevel);
183
- log.level = localLevel;
184
- msg = "should log on level: ".concat(localLevel);
185
- log[log.id](msg);
186
- assertron_1.default.satisfies(capture.logs, [{ id: log.id, level: (0, index_js_1.toLogLevel)(log.id), args: [msg] }]);
187
- return [2 /*return*/];
188
- });
189
- });
190
- }
191
- function assertNotLoggedAtLocalLevel(log, globalLevel, localLevel) {
192
- return __awaiter(this, void 0, void 0, function () {
193
- return __generator(this, function (_a) {
194
- (0, index_js_1.setLogLevel)(globalLevel);
195
- log.level = localLevel;
196
- log[log.id]("should not log on level: ".concat(localLevel));
197
- expect(capture.logs.length).toBe(0);
198
- return [2 /*return*/];
199
- });
200
- });
201
- }
202
- function assertLogFunctionCalledAtLevel(log, callLevel, actualLevel) {
203
- return __awaiter(this, void 0, void 0, function () {
204
- var actual;
205
- return __generator(this, function (_a) {
206
- (0, index_js_1.setLogLevel)(actualLevel);
207
- actual = false;
208
- log.on(callLevel, function () { return actual = true; });
209
- expect(actual).toBe(true);
210
- return [2 /*return*/];
211
- });
212
- });
213
- }
214
- function assertLogFunctionCalledAtLocalLevel(log, callLevel, globalLevel, localLevel) {
215
- return __awaiter(this, void 0, void 0, function () {
216
- var actual;
217
- return __generator(this, function (_a) {
218
- (0, index_js_1.setLogLevel)(globalLevel);
219
- log.level = localLevel;
220
- actual = false;
221
- log.on(callLevel, function () { return actual = true; });
222
- expect(actual).toBe(true);
223
- return [2 /*return*/];
224
- });
225
- });
226
- }
227
- function assertLogFunctionNotCalledAtLevel(log, callLevel, actualLevel) {
228
- (0, index_js_1.setLogLevel)(actualLevel);
229
- log.on(callLevel, function () { throw new Error("should not log at level ".concat(actualLevel)); });
230
- }
231
- function assertLogFunctionNotCalledAtLocalLevel(log, callLevel, globalLevel, localLevel) {
232
- (0, index_js_1.setLogLevel)(globalLevel);
233
- log.level = localLevel;
234
- log.on(callLevel, function () { throw new Error("should not log at local level ".concat(localLevel)); });
235
- }
236
- var shouldLog = wrapTest(function (test) { return function (method, level) {
237
- var name = (0, index_js_1.toLogLevelName)(level);
238
- test("".concat(method, "() should log on level: ").concat(name, " (").concat(level, ")"), function () {
239
- var log = (0, index_js_1.getLogger)(method);
240
- return assertLoggedAtLevel(log, level);
241
- });
242
- }; });
243
- var shouldNotLog = wrapTest(function (test) { return function (method, level) {
244
- var name = (0, index_js_1.toLogLevelName)(level);
245
- test("".concat(method, "() should not log on level: ").concat(name, " (").concat(level, ")"), function () {
246
- var log = (0, index_js_1.getLogger)(method);
247
- return assertNotLoggedAtLevel(log, level);
248
- });
249
- }; });
250
- var shouldLogWithLocalLevelOverride = wrapTest(function (test) { return function (method, localLevel) {
251
- var localName = (0, index_js_1.toLogLevelName)(localLevel);
252
- [index_js_1.logLevels.none, index_js_1.logLevels.error, index_js_1.logLevels.warn, index_js_1.logLevels.info, index_js_1.logLevels.debug].forEach(function (globalLevel) {
253
- var globalName = (0, index_js_1.toLogLevelName)(globalLevel) || 'none';
254
- test("".concat(method, "() should log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
255
- var log = (0, index_js_1.getLogger)(method);
256
- return assertLoggedAtLocalLevel(log, globalLevel, localLevel);
257
- });
258
- });
259
- }; });
260
- var shouldNotLogWithLocalLevelOverride = wrapTest(function (test) { return function (method, localLevel) {
261
- var localName = (0, index_js_1.toLogLevelName)(localLevel);
262
- [index_js_1.logLevels.none, index_js_1.logLevels.error, index_js_1.logLevels.warn, index_js_1.logLevels.info, index_js_1.logLevels.debug].forEach(function (globalLevel) {
263
- var globalName = (0, index_js_1.toLogLevelName)(globalLevel) || 'none';
264
- test("".concat(method, "() should not log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
265
- var log = (0, index_js_1.getLogger)(method);
266
- return assertNotLoggedAtLocalLevel(log, globalLevel, localLevel);
267
- });
268
- });
269
- }; });
270
- var shouldCallLogFunction = wrapTest(function (test) { return function (callLevel, actualLevel) {
271
- var method = (0, index_js_1.toLogLevelName)(callLevel);
272
- var name = (0, index_js_1.toLogLevelName)(actualLevel);
273
- test("".concat(method, "() should call log function on level: ").concat(name, " (").concat(actualLevel, ")"), function () {
274
- var log = (0, index_js_1.getLogger)(method);
275
- return assertLogFunctionCalledAtLevel(log, callLevel, actualLevel);
276
- });
277
- }; });
278
- var shouldNotCallLogFunction = wrapTest(function (test) { return function (callLevel, actualLevel) {
279
- var method = (0, index_js_1.toLogLevelName)(callLevel);
280
- var name = (0, index_js_1.toLogLevelName)(actualLevel);
281
- test("".concat(method, "() should not call log function on level: ").concat(name, " (").concat(actualLevel, ")"), function () {
282
- var log = (0, index_js_1.getLogger)(method);
283
- assertLogFunctionNotCalledAtLevel(log, callLevel, actualLevel);
284
- });
285
- }; });
286
- var shouldCallLogFunctionWithLocalLevelOverride = wrapTest(function (test) { return function (callLevel, localLevel) {
287
- var method = (0, index_js_1.toLogLevelName)(callLevel);
288
- var localName = (0, index_js_1.toLogLevelName)(localLevel);
289
- [index_js_1.logLevels.none, index_js_1.logLevels.error, index_js_1.logLevels.warn, index_js_1.logLevels.info, index_js_1.logLevels.debug].forEach(function (globalLevel) {
290
- var globalName = (0, index_js_1.toLogLevelName)(globalLevel) || 'none';
291
- test("".concat(method, "() should log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
292
- var log = (0, index_js_1.getLogger)(method);
293
- return assertLogFunctionCalledAtLocalLevel(log, callLevel, globalLevel, localLevel);
294
- });
295
- });
296
- }; });
297
- var shouldNotCallLogFunctionWithLocalLevelOverride = wrapTest(function (test) { return function (callLevel, localLevel) {
298
- var method = (0, index_js_1.toLogLevelName)(callLevel);
299
- var localName = (0, index_js_1.toLogLevelName)(localLevel);
300
- [index_js_1.logLevels.none, index_js_1.logLevels.error, index_js_1.logLevels.warn, index_js_1.logLevels.info, index_js_1.logLevels.debug].forEach(function (globalLevel) {
301
- var globalName = (0, index_js_1.toLogLevelName)(globalLevel) || 'none';
302
- test("".concat(method, "() should not log on local level: ").concat(localName, " (").concat(localLevel, ") while global level: ").concat(globalName, " (").concat(globalLevel, ")"), function () {
303
- var log = (0, index_js_1.getLogger)(method);
304
- assertLogFunctionNotCalledAtLocalLevel(log, callLevel, globalLevel, localLevel);
305
- });
306
- });
307
- }; });
308
- function wrapTest(fn) {
309
- return Object.assign(fn(test), { only: fn(test.only), skip: fn(test.skip) });
310
- }
311
- shouldNotLog('error', index_js_1.logLevels.none);
312
- shouldLog('error', index_js_1.logLevels.error);
313
- shouldLog('error', index_js_1.logLevels.warn);
314
- shouldLog('error', index_js_1.logLevels.info);
315
- shouldLog('error', index_js_1.logLevels.debug);
316
- shouldNotLogWithLocalLevelOverride('error', index_js_1.logLevels.none);
317
- shouldLogWithLocalLevelOverride('error', index_js_1.logLevels.error);
318
- shouldLogWithLocalLevelOverride('error', index_js_1.logLevels.warn);
319
- shouldLogWithLocalLevelOverride('error', index_js_1.logLevels.info);
320
- shouldLogWithLocalLevelOverride('error', index_js_1.logLevels.debug);
321
- shouldNotLog('warn', index_js_1.logLevels.none);
322
- shouldNotLog('warn', index_js_1.logLevels.error);
323
- shouldLog('warn', index_js_1.logLevels.warn);
324
- shouldLog('warn', index_js_1.logLevels.info);
325
- shouldLog('warn', index_js_1.logLevels.debug);
326
- shouldNotLogWithLocalLevelOverride('warn', index_js_1.logLevels.none);
327
- shouldNotLogWithLocalLevelOverride('warn', index_js_1.logLevels.error);
328
- shouldLogWithLocalLevelOverride('warn', index_js_1.logLevels.warn);
329
- shouldLogWithLocalLevelOverride('warn', index_js_1.logLevels.info);
330
- shouldLogWithLocalLevelOverride('warn', index_js_1.logLevels.debug);
331
- shouldNotLog('info', index_js_1.logLevels.none);
332
- shouldNotLog('info', index_js_1.logLevels.error);
333
- shouldNotLog('info', index_js_1.logLevels.warn);
334
- shouldLog('info', index_js_1.logLevels.info);
335
- shouldLog('info', index_js_1.logLevels.debug);
336
- shouldNotLogWithLocalLevelOverride('info', index_js_1.logLevels.none);
337
- shouldNotLogWithLocalLevelOverride('info', index_js_1.logLevels.error);
338
- shouldNotLogWithLocalLevelOverride('info', index_js_1.logLevels.warn);
339
- shouldLogWithLocalLevelOverride('info', index_js_1.logLevels.info);
340
- shouldLogWithLocalLevelOverride('info', index_js_1.logLevels.debug);
341
- shouldNotLog('debug', index_js_1.logLevels.none);
342
- shouldNotLog('debug', index_js_1.logLevels.error);
343
- shouldNotLog('debug', index_js_1.logLevels.warn);
344
- shouldNotLog('debug', index_js_1.logLevels.info);
345
- shouldLog('debug', index_js_1.logLevels.debug);
346
- shouldNotLogWithLocalLevelOverride('debug', index_js_1.logLevels.none);
347
- shouldNotLogWithLocalLevelOverride('debug', index_js_1.logLevels.error);
348
- shouldNotLogWithLocalLevelOverride('debug', index_js_1.logLevels.warn);
349
- shouldNotLogWithLocalLevelOverride('debug', index_js_1.logLevels.info);
350
- shouldLogWithLocalLevelOverride('debug', index_js_1.logLevels.debug);
351
- shouldNotCallLogFunction(index_js_1.logLevels.error, index_js_1.logLevels.none);
352
- shouldCallLogFunction(index_js_1.logLevels.error, index_js_1.logLevels.error);
353
- shouldCallLogFunction(index_js_1.logLevels.error, index_js_1.logLevels.warn);
354
- shouldCallLogFunction(index_js_1.logLevels.error, index_js_1.logLevels.info);
355
- shouldCallLogFunction(index_js_1.logLevels.error, index_js_1.logLevels.debug);
356
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.error, index_js_1.logLevels.none);
357
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.error, index_js_1.logLevels.error);
358
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.error, index_js_1.logLevels.warn);
359
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.error, index_js_1.logLevels.info);
360
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.error, index_js_1.logLevels.debug);
361
- shouldNotCallLogFunction(index_js_1.logLevels.warn, index_js_1.logLevels.none);
362
- shouldNotCallLogFunction(index_js_1.logLevels.warn, index_js_1.logLevels.error);
363
- shouldCallLogFunction(index_js_1.logLevels.warn, index_js_1.logLevels.warn);
364
- shouldCallLogFunction(index_js_1.logLevels.warn, index_js_1.logLevels.info);
365
- shouldCallLogFunction(index_js_1.logLevels.warn, index_js_1.logLevels.debug);
366
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.warn, index_js_1.logLevels.none);
367
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.warn, index_js_1.logLevels.error);
368
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.warn, index_js_1.logLevels.warn);
369
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.warn, index_js_1.logLevels.info);
370
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.warn, index_js_1.logLevels.debug);
371
- shouldNotCallLogFunction(index_js_1.logLevels.info, index_js_1.logLevels.none);
372
- shouldNotCallLogFunction(index_js_1.logLevels.info, index_js_1.logLevels.error);
373
- shouldNotCallLogFunction(index_js_1.logLevels.info, index_js_1.logLevels.warn);
374
- shouldCallLogFunction(index_js_1.logLevels.info, index_js_1.logLevels.info);
375
- shouldCallLogFunction(index_js_1.logLevels.info, index_js_1.logLevels.debug);
376
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.info, index_js_1.logLevels.none);
377
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.info, index_js_1.logLevels.error);
378
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.info, index_js_1.logLevels.warn);
379
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.info, index_js_1.logLevels.info);
380
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.info, index_js_1.logLevels.debug);
381
- shouldNotCallLogFunction(index_js_1.logLevels.debug, index_js_1.logLevels.none);
382
- shouldNotCallLogFunction(index_js_1.logLevels.debug, index_js_1.logLevels.error);
383
- shouldNotCallLogFunction(index_js_1.logLevels.debug, index_js_1.logLevels.warn);
384
- shouldNotCallLogFunction(index_js_1.logLevels.debug, index_js_1.logLevels.info);
385
- shouldCallLogFunction(index_js_1.logLevels.debug, index_js_1.logLevels.debug);
386
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.debug, index_js_1.logLevels.none);
387
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.debug, index_js_1.logLevels.error);
388
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.debug, index_js_1.logLevels.warn);
389
- shouldNotCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.debug, index_js_1.logLevels.info);
390
- shouldCallLogFunctionWithLocalLevelOverride(index_js_1.logLevels.debug, index_js_1.logLevels.debug);
391
- });
392
- test('on() log using log argument', function () {
393
- store_js_1.store.value.mode = 'test';
394
- store_js_1.store.value.logLevel = index_js_1.logLevels.debug;
395
- var logger = (0, index_js_1.getLogger)('log on fn');
396
- logger.on('error', function (log) { log('value'); });
397
- assertron_1.default.satisfies(capture.logs, [
398
- { id: 'log on fn', level: index_js_1.logLevels.error, args: ['value'] }
399
- ]);
400
- });
401
- test('write entry directly', function () {
402
- var log = (0, index_js_1.getLogger)('write-entry');
403
- var entry = { id: 'write-entry', level: index_js_1.logLevels.info, args: ['abc'], timestamp: new Date() };
404
- log.write(entry);
405
- assertron_1.default.satisfies(capture.logs, [entry]);
406
- });
407
- });
408
- test('on() can take log level name in first argument', function () {
409
- var log = (0, index_js_1.getLogger)('string-on');
410
- log.on('debug', function () { return; });
411
- });
412
- test('auto configure', function () { return __awaiter(void 0, void 0, void 0, function () {
413
- var log;
414
- return __generator(this, function (_a) {
415
- switch (_a.label) {
416
- case 0:
417
- expect(store_js_1.store.value.configured).toBeFalsy();
418
- log = (0, index_js_1.getLogger)('auto config');
419
- log.info('config is called automatically as expected');
420
- return [4 /*yield*/, (0, delay_1.default)(10)];
421
- case 1:
422
- _a.sent();
423
- expect(store_js_1.store.value.configured).toBeTruthy();
424
- return [2 /*return*/];
425
- }
426
- });
427
- }); });
428
- describe('writeTo', function () {
429
- var memReporter;
430
- var specialReporter;
431
- beforeEach(function () {
432
- memReporter = (0, index_js_2.createMemoryLogReporter)();
433
- specialReporter = (0, index_js_2.createMemoryLogReporter)({ id: 'special' });
434
- (0, config_js_1.config)({ mode: 'test', reporters: [memReporter, specialReporter] });
435
- });
436
- test('specific reporter with string', function () {
437
- var log = (0, index_js_1.getLogger)('writeTo-string', { writeTo: 'special' });
438
- log.error('error message');
439
- expect(memReporter.logs.length).toEqual(0);
440
- expect(specialReporter.logs.length).toEqual(1);
441
- });
442
- test('specific reporter with regex', function () {
443
- var log = (0, index_js_1.getLogger)('writeTo-regex', { writeTo: /^spec/ });
444
- log.error('error message');
445
- expect(memReporter.logs.length).toEqual(0);
446
- expect(specialReporter.logs.length).toEqual(1);
447
- });
448
- test('specific reporter with RegExp', function () {
449
- var log = (0, index_js_1.getLogger)('writeTo-RegExp', { writeTo: new RegExp('^spec') });
450
- log.error('error message');
451
- expect(memReporter.logs.length).toEqual(0);
452
- expect(specialReporter.logs.length).toEqual(1);
453
- });
454
- test('specific reporter with function', function () {
455
- var log = (0, index_js_1.getLogger)('writeTo-fn', { writeTo: function (id) { return id === 'special'; } });
456
- log.error('error message');
457
- expect(memReporter.logs.length).toEqual(0);
458
- expect(specialReporter.logs.length).toEqual(1);
459
- });
460
- test('custom reporter', function () {
461
- var reporter = (0, index_js_2.createMemoryLogReporter)({ id: 'custom mem' });
462
- var log = (0, index_js_1.getLogger)('writeTo-reporter', { writeTo: reporter });
463
- log.error('error message');
464
- expect(reporter.logs.length).toEqual(1);
465
- });
466
- test('custom reporter cannot override added console reporter', function () {
467
- // if not, it would be a security issue as the new reporter
468
- // can capture the logs from other logger and send it elsewhere
469
- var reporter = (0, index_js_2.createMemoryLogReporter)({ id: 'custom mem' });
470
- reporter.isConsoleReporter = true;
471
- (0, index_js_1.getLogger)('writeTo-reporter-no-override', { writeTo: reporter });
472
- var log = (0, index_js_1.getLogger)('writeTo-reporter-no-override-2');
473
- log.error('error message');
474
- expect(reporter.logs.length).toEqual(0);
475
- });
476
- });
477
- test('id is readonly', function () {
478
- var log = (0, index_js_1.getLogger)('id is readonly');
479
- assertron_1.default.throws(function () { return log.id = 'b'; });
480
- });
481
- test.each(['on', 'count', 'error', 'warn', 'info', 'debug'])('method %s is readonly', function (name) {
482
- var log = (0, index_js_1.getLogger)("".concat(name, " is readonly"));
483
- assertron_1.default.throws(function () { return log[name] = true; });
484
- });
485
- //# sourceMappingURL=getLogger.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLogger.spec.js","sourceRoot":"","sources":["../ts/getLogger.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import a from 'assertron'\nimport delay from 'delay'\nimport { addCustomLogLevel, clearCustomLogLevel, getLogger, InvalidId, Logger, logLevels, LogMethodNames, setLogLevel, toLogLevel, toLogLevelName } from './index.js'\nimport { config } from './config.js'\nimport { createMemoryLogReporter, MemoryLogReporter } from './memory/index.js'\nimport { store } from './store.js'\nimport { assertSSF, captureWrittenLog } from './testUtil.js'\n\nafterEach(() => {\n clearCustomLogLevel()\n store.reset()\n})\n\ntest('logger id supports alphanumeric and :_-.', () => {\n getLogger('abcdefghijklmnopqrstuvwxyz:-_.1234567890')\n})\n\ntest('logger id supports unicode', () => {\n getLogger('ミク香港')\n})\n\ntest('logger id supports @, \\\\ and /', () => {\n getLogger('@unional/fixture')\n getLogger(`a\\\\b\\\\c`)\n})\n\ntest.each('`~!#$%^&*()=+|[]{}<>,?'.split(''))('throws if id has unsupported character %s', (char: string) => {\n a.throws(() => getLogger(char), InvalidId)\n})\n\nit('throw InvalidId with ssf to the call site', () => {\n const err = a.throws(() => getLogger('!'), InvalidId)\n\n assertSSF(err, __filename)\n})\n\ntest('get logger with same name gets the same instance', () => {\n const expected = getLogger('same-inst')\n const actual = getLogger('same-inst')\n expect(actual).toBe(expected)\n})\n\ntest('can specify local log level', () => {\n const log = getLogger('local', { level: logLevels.trace })\n expect(log.level).toBe(logLevels.trace)\n})\n\ntest('new logger will get custom level', () => {\n addCustomLogLevel('to_logger', 1234)\n const actual = getLogger<LogMethodNames | 'to_logger'>('to_logger_logger')\n expect(typeof actual.to_logger).toBe('function')\n})\n\ntest('existing logger will get custom level', () => {\n const actual = getLogger<LogMethodNames | 'old_logger'>('old_logger')\n addCustomLogLevel('old_logger', 122)\n expect(typeof actual.old_logger).toBe('function')\n})\n\ndescribe('validate write to reporters', () => {\n let capture: ReturnType<typeof captureWrittenLog>\n beforeEach(() => {\n store.value.mode = 'test'\n store.value.logLevel = logLevels.debug\n capture = captureWrittenLog()\n })\n afterEach(() => {\n capture.reset()\n })\n test('logger with custom level', async () => {\n addCustomLogLevel('cust_lvl', 100)\n const logger = getLogger<'cust_lvl'>('cust')\n logger.cust_lvl('a', 'b')\n\n a.satisfies(capture.logs, [{ id: 'cust', level: 100, args: ['a', 'b'] }])\n })\n describe('count()', () => {\n test('will increment the counter', async () => {\n const logger = getLogger('inc counter')\n\n logger.count()\n logger.count()\n\n a.satisfies(capture.logs, [\n { id: 'inc counter', level: logLevels.debug, args: [1] },\n { id: 'inc counter', level: logLevels.debug, args: [2] }\n ])\n })\n\n test('append args after the counter', async () => {\n store.value.logLevel = logLevels.debug\n const id = 'inc with args'\n const logger = getLogger(id)\n logger.count('msg1', 'msg2')\n\n a.satisfies(capture.logs, [\n { id, level: logLevels.debug, args: [1, 'msg1', 'msg2'] }\n ])\n })\n\n test('not log if log level is less than debug', async () => {\n store.value.logLevel = logLevels.debug - 1\n const id = 'inc with args'\n const logger = getLogger(id)\n logger.count('msg1', 'msg2')\n\n expect(capture.logs.length).toBe(0)\n })\n })\n\n describe('log level tests', () => {\n beforeEach(() => {\n store.value.mode = 'test'\n store.value.logLevel = logLevels.error\n })\n\n afterEach(() => {\n store.reset()\n })\n\n async function assertLoggedAtLevel(log: any, level: number) {\n setLogLevel(level)\n const msg = `should log on level: ${level}`\n log[log.id](msg)\n a.satisfies(capture.logs, [{ id: log.id, level: toLogLevel(log.id), args: [msg] }])\n }\n\n async function assertNotLoggedAtLevel(log: any, level: number) {\n setLogLevel(level)\n log[log.id](`should not log on level: ${level}`)\n expect(capture.logs.length).toBe(0)\n }\n\n async function assertLoggedAtLocalLevel(log: any, globalLevel: number, localLevel: number) {\n setLogLevel(globalLevel)\n log.level = localLevel\n\n const msg = `should log on level: ${localLevel}`\n log[log.id](msg)\n a.satisfies(capture.logs, [{ id: log.id, level: toLogLevel(log.id), args: [msg] }])\n }\n\n async function assertNotLoggedAtLocalLevel(log: any, globalLevel: number, localLevel: number) {\n setLogLevel(globalLevel)\n log.level = localLevel\n log[log.id](`should not log on level: ${localLevel}`)\n expect(capture.logs.length).toBe(0)\n }\n\n async function assertLogFunctionCalledAtLevel(log: any, callLevel: number, actualLevel: number) {\n setLogLevel(actualLevel)\n let actual = false\n log.on(callLevel, () => actual = true)\n expect(actual).toBe(true)\n }\n\n async function assertLogFunctionCalledAtLocalLevel(log: Logger, callLevel: number, globalLevel: number, localLevel: number) {\n setLogLevel(globalLevel)\n log.level = localLevel\n let actual = false\n log.on(callLevel, () => actual = true)\n expect(actual).toBe(true)\n }\n function assertLogFunctionNotCalledAtLevel(log: any, callLevel: number, actualLevel: number) {\n setLogLevel(actualLevel)\n log.on(callLevel, () => { throw new Error(`should not log at level ${actualLevel}`) })\n }\n\n function assertLogFunctionNotCalledAtLocalLevel(log: any, callLevel: number, globalLevel: number, localLevel: number) {\n setLogLevel(globalLevel)\n log.level = localLevel\n log.on(callLevel, () => { throw new Error(`should not log at local level ${localLevel}`) })\n }\n\n const shouldLog = wrapTest((test) => (method: string, level: number) => {\n const name = toLogLevelName(level)\n test(`${method}() should log on level: ${name} (${level})`, () => {\n const log = getLogger(method)\n\n return assertLoggedAtLevel(log, level)\n })\n })\n\n const shouldNotLog = wrapTest((test) => (method: string, level: number) => {\n const name = toLogLevelName(level)\n test(`${method}() should not log on level: ${name} (${level})`, () => {\n const log = getLogger(method)\n\n return assertNotLoggedAtLevel(log, level)\n })\n })\n\n const shouldLogWithLocalLevelOverride = wrapTest((test) => (method: string, localLevel: number) => {\n const localName = toLogLevelName(localLevel);\n\n [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {\n const globalName = toLogLevelName(globalLevel) || 'none'\n test(`${method}() should log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {\n const log = getLogger(method)\n\n return assertLoggedAtLocalLevel(log, globalLevel, localLevel)\n })\n })\n })\n\n const shouldNotLogWithLocalLevelOverride = wrapTest((test) => (method: string, localLevel: number) => {\n const localName = toLogLevelName(localLevel);\n\n [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {\n const globalName = toLogLevelName(globalLevel) || 'none'\n test(`${method}() should not log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {\n const log = getLogger(method)\n\n return assertNotLoggedAtLocalLevel(log, globalLevel, localLevel)\n })\n })\n })\n\n const shouldCallLogFunction = wrapTest((test) => (callLevel: number, actualLevel: number) => {\n const method = toLogLevelName(callLevel)\n const name = toLogLevelName(actualLevel)\n test(`${method}() should call log function on level: ${name} (${actualLevel})`, () => {\n const log = getLogger(method)\n\n return assertLogFunctionCalledAtLevel(log, callLevel, actualLevel)\n })\n })\n\n const shouldNotCallLogFunction = wrapTest((test) => (callLevel: number, actualLevel: number) => {\n const method = toLogLevelName(callLevel)\n const name = toLogLevelName(actualLevel)\n test(`${method}() should not call log function on level: ${name} (${actualLevel})`, () => {\n const log = getLogger(method)\n\n assertLogFunctionNotCalledAtLevel(log, callLevel, actualLevel)\n })\n })\n\n const shouldCallLogFunctionWithLocalLevelOverride = wrapTest((test) => (callLevel: number, localLevel: number) => {\n const method = toLogLevelName(callLevel)\n const localName = toLogLevelName(localLevel);\n\n [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {\n const globalName = toLogLevelName(globalLevel) || 'none'\n test(`${method}() should log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {\n const log = getLogger(method)\n\n return assertLogFunctionCalledAtLocalLevel(log, callLevel, globalLevel, localLevel)\n })\n })\n })\n\n const shouldNotCallLogFunctionWithLocalLevelOverride = wrapTest((test) => (callLevel: number, localLevel: number) => {\n const method = toLogLevelName(callLevel)\n const localName = toLogLevelName(localLevel);\n\n [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {\n const globalName = toLogLevelName(globalLevel) || 'none'\n test(`${method}() should not log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {\n const log = getLogger(method)\n\n assertLogFunctionNotCalledAtLocalLevel(log, callLevel, globalLevel, localLevel)\n })\n })\n })\n\n function wrapTest<F>(fn: (test: jest.It) => F) {\n return Object.assign(fn(test), { only: fn(test.only), skip: fn(test.skip) })\n }\n\n shouldNotLog('error', logLevels.none)\n shouldLog('error', logLevels.error)\n shouldLog('error', logLevels.warn)\n shouldLog('error', logLevels.info)\n shouldLog('error', logLevels.debug)\n shouldNotLogWithLocalLevelOverride('error', logLevels.none)\n shouldLogWithLocalLevelOverride('error', logLevels.error)\n shouldLogWithLocalLevelOverride('error', logLevels.warn)\n shouldLogWithLocalLevelOverride('error', logLevels.info)\n shouldLogWithLocalLevelOverride('error', logLevels.debug)\n\n shouldNotLog('warn', logLevels.none)\n shouldNotLog('warn', logLevels.error)\n shouldLog('warn', logLevels.warn)\n shouldLog('warn', logLevels.info)\n shouldLog('warn', logLevels.debug)\n shouldNotLogWithLocalLevelOverride('warn', logLevels.none)\n shouldNotLogWithLocalLevelOverride('warn', logLevels.error)\n shouldLogWithLocalLevelOverride('warn', logLevels.warn)\n shouldLogWithLocalLevelOverride('warn', logLevels.info)\n shouldLogWithLocalLevelOverride('warn', logLevels.debug)\n\n shouldNotLog('info', logLevels.none)\n shouldNotLog('info', logLevels.error)\n shouldNotLog('info', logLevels.warn)\n shouldLog('info', logLevels.info)\n shouldLog('info', logLevels.debug)\n shouldNotLogWithLocalLevelOverride('info', logLevels.none)\n shouldNotLogWithLocalLevelOverride('info', logLevels.error)\n shouldNotLogWithLocalLevelOverride('info', logLevels.warn)\n shouldLogWithLocalLevelOverride('info', logLevels.info)\n shouldLogWithLocalLevelOverride('info', logLevels.debug)\n\n shouldNotLog('debug', logLevels.none)\n shouldNotLog('debug', logLevels.error)\n shouldNotLog('debug', logLevels.warn)\n shouldNotLog('debug', logLevels.info)\n shouldLog('debug', logLevels.debug)\n shouldNotLogWithLocalLevelOverride('debug', logLevels.none)\n shouldNotLogWithLocalLevelOverride('debug', logLevels.error)\n shouldNotLogWithLocalLevelOverride('debug', logLevels.warn)\n shouldNotLogWithLocalLevelOverride('debug', logLevels.info)\n shouldLogWithLocalLevelOverride('debug', logLevels.debug)\n\n shouldNotCallLogFunction(logLevels.error, logLevels.none)\n shouldCallLogFunction(logLevels.error, logLevels.error)\n shouldCallLogFunction(logLevels.error, logLevels.warn)\n shouldCallLogFunction(logLevels.error, logLevels.info)\n shouldCallLogFunction(logLevels.error, logLevels.debug)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.none)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.error)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.warn)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.info)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.debug)\n\n shouldNotCallLogFunction(logLevels.warn, logLevels.none)\n shouldNotCallLogFunction(logLevels.warn, logLevels.error)\n shouldCallLogFunction(logLevels.warn, logLevels.warn)\n shouldCallLogFunction(logLevels.warn, logLevels.info)\n shouldCallLogFunction(logLevels.warn, logLevels.debug)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.none)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.error)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.warn)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.info)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.debug)\n\n shouldNotCallLogFunction(logLevels.info, logLevels.none)\n shouldNotCallLogFunction(logLevels.info, logLevels.error)\n shouldNotCallLogFunction(logLevels.info, logLevels.warn)\n shouldCallLogFunction(logLevels.info, logLevels.info)\n shouldCallLogFunction(logLevels.info, logLevels.debug)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.none)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.error)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.warn)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.info)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.debug)\n\n shouldNotCallLogFunction(logLevels.debug, logLevels.none)\n shouldNotCallLogFunction(logLevels.debug, logLevels.error)\n shouldNotCallLogFunction(logLevels.debug, logLevels.warn)\n shouldNotCallLogFunction(logLevels.debug, logLevels.info)\n shouldCallLogFunction(logLevels.debug, logLevels.debug)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.none)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.error)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.warn)\n shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.info)\n shouldCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.debug)\n })\n\n test('on() log using log argument', () => {\n store.value.mode = 'test'\n store.value.logLevel = logLevels.debug\n const logger = getLogger('log on fn')\n\n logger.on('error', log => { log('value') })\n\n a.satisfies(capture.logs, [\n { id: 'log on fn', level: logLevels.error, args: ['value'] }\n ])\n })\n\n test('write entry directly', () => {\n const log = getLogger('write-entry')\n const entry = { id: 'write-entry', level: logLevels.info, args: ['abc'], timestamp: new Date() }\n log.write(entry)\n a.satisfies(capture.logs, [entry])\n })\n})\n\ntest('on() can take log level name in first argument', () => {\n const log = getLogger('string-on')\n log.on('debug', () => { return })\n})\n\ntest('auto configure', async () => {\n expect(store.value.configured).toBeFalsy()\n const log = getLogger('auto config')\n\n log.info('config is called automatically as expected')\n\n await delay(10)\n expect(store.value.configured).toBeTruthy()\n})\n\ndescribe('writeTo', () => {\n let memReporter: MemoryLogReporter\n let specialReporter: MemoryLogReporter\n beforeEach(() => {\n memReporter = createMemoryLogReporter()\n specialReporter = createMemoryLogReporter({ id: 'special' })\n config({ mode: 'test', reporters: [memReporter, specialReporter] })\n })\n test('specific reporter with string', () => {\n const log = getLogger('writeTo-string', { writeTo: 'special' })\n log.error('error message')\n\n expect(memReporter.logs.length).toEqual(0)\n expect(specialReporter.logs.length).toEqual(1)\n })\n\n test('specific reporter with regex', () => {\n const log = getLogger('writeTo-regex', { writeTo: /^spec/ })\n log.error('error message')\n\n expect(memReporter.logs.length).toEqual(0)\n expect(specialReporter.logs.length).toEqual(1)\n })\n\n test('specific reporter with RegExp', () => {\n const log = getLogger('writeTo-RegExp', { writeTo: new RegExp('^spec') })\n log.error('error message')\n\n expect(memReporter.logs.length).toEqual(0)\n expect(specialReporter.logs.length).toEqual(1)\n })\n\n test('specific reporter with function', () => {\n const log = getLogger('writeTo-fn', { writeTo: id => id === 'special' })\n log.error('error message')\n\n expect(memReporter.logs.length).toEqual(0)\n expect(specialReporter.logs.length).toEqual(1)\n })\n\n test('custom reporter', () => {\n const reporter = createMemoryLogReporter({ id: 'custom mem' })\n const log = getLogger('writeTo-reporter', { writeTo: reporter })\n log.error('error message')\n\n expect(reporter.logs.length).toEqual(1)\n })\n\n test('custom reporter cannot override added console reporter', () => {\n // if not, it would be a security issue as the new reporter\n // can capture the logs from other logger and send it elsewhere\n const reporter = createMemoryLogReporter({ id: 'custom mem' })\n reporter.isConsoleReporter = true\n getLogger('writeTo-reporter-no-override', { writeTo: reporter })\n const log = getLogger('writeTo-reporter-no-override-2')\n log.error('error message')\n\n expect(reporter.logs.length).toEqual(0)\n })\n})\n\ntest('id is readonly', () => {\n const log: any = getLogger('id is readonly')\n a.throws(() => log.id = 'b')\n})\n\ntest.each(['on', 'count', 'error', 'warn', 'info', 'debug'])('method %s is readonly', name => {\n const log: any = getLogger(`${name} is readonly`)\n\n a.throws(() => log[name] = true)\n})\n\n"]}
@@ -1,7 +0,0 @@
1
- import { Logger } from './types.js';
2
- /**
3
- * Get loggers based on RegExp.
4
- * @param filter RegExp to look for loggers
5
- */
6
- export declare function getLoggers(filter: RegExp): Logger<any>[];
7
- //# sourceMappingURL=getLoggers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLoggers.d.ts","sourceRoot":"","sources":["../ts/getLoggers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAGxD"}
package/cjs/getLoggers.js DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLoggers = void 0;
4
- var type_plus_1 = require("type-plus");
5
- var store_js_1 = require("./store.js");
6
- /**
7
- * Get loggers based on RegExp.
8
- * @param filter RegExp to look for loggers
9
- */
10
- function getLoggers(filter) {
11
- var loggerClosures = store_js_1.store.value.loggerClosures;
12
- return (0, type_plus_1.filterKey)(loggerClosures, function (id) { return filter.test(id); }).map(function (k) { return loggerClosures[k].logger; });
13
- }
14
- exports.getLoggers = getLoggers;
15
- //# sourceMappingURL=getLoggers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLoggers.js","sourceRoot":"","sources":["../ts/getLoggers.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AACrC,uCAAkC;AAGlC;;;GAGG;AACH,SAAgB,UAAU,CAAC,MAAc;IAC/B,IAAA,cAAc,GAAK,gBAAK,CAAC,KAAK,eAAhB,CAAgB;IACtC,OAAO,IAAA,qBAAS,EAAC,cAAc,EAAE,UAAA,EAAE,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAf,CAAe,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAAxB,CAAwB,CAAC,CAAA;AAC5F,CAAC;AAHD,gCAGC","sourcesContent":["import { filterKey } from 'type-plus'\nimport { store } from './store.js'\nimport { Logger } from './types.js'\n\n/**\n * Get loggers based on RegExp.\n * @param filter RegExp to look for loggers\n */\nexport function getLoggers(filter: RegExp): Logger<any>[] {\n const { loggerClosures } = store.value\n return filterKey(loggerClosures, id => filter.test(id)).map(k => loggerClosures[k].logger)\n}\n"]}