standard-log 7.1.0 → 9.0.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 (551) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +57 -133
  3. package/{libm/console/createConsoleLogReporter.d.ts → cjs/console.d.ts} +5 -5
  4. package/cjs/console.d.ts.map +1 -0
  5. package/cjs/console.js +76 -0
  6. package/cjs/console.js.map +1 -0
  7. package/cjs/console.spec.d.ts +2 -0
  8. package/cjs/console.spec.d.ts.map +1 -0
  9. package/cjs/console.spec.js +177 -0
  10. package/cjs/console.spec.js.map +1 -0
  11. package/cjs/errors.d.ts +9 -0
  12. package/cjs/errors.d.ts.map +1 -0
  13. package/cjs/errors.js +43 -0
  14. package/cjs/errors.js.map +1 -0
  15. package/cjs/formatter.d.ts +6 -0
  16. package/cjs/formatter.d.ts.map +1 -0
  17. package/cjs/formatter.js +46 -0
  18. package/cjs/formatter.js.map +1 -0
  19. package/cjs/formatter.spec.d.ts +2 -0
  20. package/cjs/formatter.spec.d.ts.map +1 -0
  21. package/cjs/formatter.spec.js +32 -0
  22. package/cjs/formatter.spec.js.map +1 -0
  23. package/cjs/index.d.ts +8 -0
  24. package/cjs/index.d.ts.map +1 -0
  25. package/cjs/index.js +24 -0
  26. package/cjs/index.js.map +1 -0
  27. package/cjs/logLevels.d.ts +60 -0
  28. package/cjs/logLevels.d.ts.map +1 -0
  29. package/cjs/logLevels.js +87 -0
  30. package/cjs/logLevels.js.map +1 -0
  31. package/cjs/logStore.d.ts +20 -0
  32. package/cjs/logStore.d.ts.map +1 -0
  33. package/cjs/logStore.js +44 -0
  34. package/cjs/logStore.js.map +1 -0
  35. package/cjs/logStore.spec.d.ts +2 -0
  36. package/cjs/logStore.spec.d.ts.map +1 -0
  37. package/cjs/logStore.spec.js +93 -0
  38. package/cjs/logStore.spec.js.map +1 -0
  39. package/cjs/logger.d.ts +6 -0
  40. package/cjs/logger.d.ts.map +1 -0
  41. package/cjs/logger.js +97 -0
  42. package/cjs/logger.js.map +1 -0
  43. package/{lib/memory/MemoryLogReporter.d.ts → cjs/memory.d.ts} +2 -2
  44. package/cjs/memory.d.ts.map +1 -0
  45. package/cjs/memory.js +39 -0
  46. package/cjs/memory.js.map +1 -0
  47. package/cjs/memory.spec.d.ts +2 -0
  48. package/cjs/memory.spec.d.ts.map +1 -0
  49. package/cjs/memory.spec.js +115 -0
  50. package/cjs/memory.spec.js.map +1 -0
  51. package/cjs/package.json +1 -0
  52. package/cjs/platform.browser.d.ts +7 -0
  53. package/cjs/platform.browser.d.ts.map +1 -0
  54. package/cjs/platform.browser.js +11 -0
  55. package/cjs/platform.browser.js.map +1 -0
  56. package/cjs/platform.d.ts +8 -0
  57. package/cjs/platform.d.ts.map +1 -0
  58. package/cjs/platform.js +26 -0
  59. package/cjs/platform.js.map +1 -0
  60. package/cjs/platform.spec.d.ts +2 -0
  61. package/cjs/platform.spec.d.ts.map +1 -0
  62. package/cjs/platform.spec.js +22 -0
  63. package/cjs/platform.spec.js.map +1 -0
  64. package/cjs/standardLog.d.ts +21 -0
  65. package/cjs/standardLog.d.ts.map +1 -0
  66. package/cjs/standardLog.js +59 -0
  67. package/cjs/standardLog.js.map +1 -0
  68. package/cjs/standardLog.spec.d.ts +2 -0
  69. package/cjs/standardLog.spec.d.ts.map +1 -0
  70. package/cjs/standardLog.spec.js +536 -0
  71. package/cjs/standardLog.spec.js.map +1 -0
  72. package/cjs/testUtil.d.ts +10 -0
  73. package/cjs/testUtil.d.ts.map +1 -0
  74. package/cjs/testUtil.js +28 -0
  75. package/cjs/testUtil.js.map +1 -0
  76. package/{lib → cjs}/types.d.ts +33 -24
  77. package/cjs/types.d.ts.map +1 -0
  78. package/{lib/console → cjs}/types.js +0 -0
  79. package/cjs/types.js.map +1 -0
  80. package/cjs/types.spec.d.ts +2 -0
  81. package/cjs/types.spec.d.ts.map +1 -0
  82. package/cjs/types.spec.js +7 -0
  83. package/cjs/types.spec.js.map +1 -0
  84. package/dist/standard-log.es5.js +1971 -0
  85. package/dist/standard-log.es5.js.gz +0 -0
  86. package/dist/standard-log.es5.js.map +1 -0
  87. package/dist/standard-log.es5.js.map.gz +0 -0
  88. package/dist/standard-log.esm.js +1887 -0
  89. package/dist/standard-log.esm.js.gz +0 -0
  90. package/dist/standard-log.esm.js.map +1 -0
  91. package/dist/standard-log.esm.js.map.gz +0 -0
  92. package/{lib/console/createConsoleLogReporter.d.ts → esm/console.d.ts} +5 -5
  93. package/esm/console.d.ts.map +1 -0
  94. package/{libm/console/polyfilledConsole.js → esm/console.js} +36 -4
  95. package/esm/console.js.map +1 -0
  96. package/esm/console.spec.d.ts +2 -0
  97. package/esm/console.spec.d.ts.map +1 -0
  98. package/esm/console.spec.js +151 -0
  99. package/esm/console.spec.js.map +1 -0
  100. package/esm/errors.d.ts +9 -0
  101. package/esm/errors.d.ts.map +1 -0
  102. package/esm/errors.js +18 -0
  103. package/esm/errors.js.map +1 -0
  104. package/esm/formatter.d.ts +6 -0
  105. package/esm/formatter.d.ts.map +1 -0
  106. package/{libm/formatter/createTimestampFormatter.js → esm/formatter.js} +10 -2
  107. package/esm/formatter.js.map +1 -0
  108. package/esm/formatter.spec.d.ts +2 -0
  109. package/esm/formatter.spec.d.ts.map +1 -0
  110. package/esm/formatter.spec.js +30 -0
  111. package/esm/formatter.spec.js.map +1 -0
  112. package/esm/index.d.ts +8 -0
  113. package/esm/index.d.ts.map +1 -0
  114. package/esm/index.js +8 -0
  115. package/esm/index.js.map +1 -0
  116. package/esm/logLevels.d.ts +60 -0
  117. package/esm/logLevels.d.ts.map +1 -0
  118. package/{libm/logLevel.js → esm/logLevels.js} +29 -3
  119. package/esm/logLevels.js.map +1 -0
  120. package/esm/logStore.d.ts +20 -0
  121. package/esm/logStore.d.ts.map +1 -0
  122. package/esm/logStore.js +37 -0
  123. package/esm/logStore.js.map +1 -0
  124. package/esm/logStore.spec.d.ts +2 -0
  125. package/esm/logStore.spec.d.ts.map +1 -0
  126. package/esm/logStore.spec.js +93 -0
  127. package/esm/logStore.spec.js.map +1 -0
  128. package/esm/logger.d.ts +6 -0
  129. package/esm/logger.d.ts.map +1 -0
  130. package/esm/logger.js +74 -0
  131. package/esm/logger.js.map +1 -0
  132. package/{libm/memory/MemoryLogReporter.d.ts → esm/memory.d.ts} +2 -2
  133. package/esm/memory.d.ts.map +1 -0
  134. package/esm/memory.js +34 -0
  135. package/esm/memory.js.map +1 -0
  136. package/esm/memory.spec.d.ts +2 -0
  137. package/esm/memory.spec.d.ts.map +1 -0
  138. package/esm/memory.spec.js +110 -0
  139. package/esm/memory.spec.js.map +1 -0
  140. package/esm/platform.browser.d.ts +7 -0
  141. package/esm/platform.browser.d.ts.map +1 -0
  142. package/esm/platform.browser.js +6 -0
  143. package/esm/platform.browser.js.map +1 -0
  144. package/esm/platform.d.ts +8 -0
  145. package/esm/platform.d.ts.map +1 -0
  146. package/esm/platform.js +20 -0
  147. package/esm/platform.js.map +1 -0
  148. package/esm/platform.spec.d.ts +2 -0
  149. package/esm/platform.spec.d.ts.map +1 -0
  150. package/esm/platform.spec.js +20 -0
  151. package/esm/platform.spec.js.map +1 -0
  152. package/esm/standardLog.d.ts +21 -0
  153. package/esm/standardLog.d.ts.map +1 -0
  154. package/esm/standardLog.js +36 -0
  155. package/esm/standardLog.js.map +1 -0
  156. package/esm/standardLog.spec.d.ts +2 -0
  157. package/esm/standardLog.spec.d.ts.map +1 -0
  158. package/esm/standardLog.spec.js +434 -0
  159. package/esm/standardLog.spec.js.map +1 -0
  160. package/esm/testUtil.d.ts +10 -0
  161. package/esm/testUtil.d.ts.map +1 -0
  162. package/esm/testUtil.js +17 -0
  163. package/esm/testUtil.js.map +1 -0
  164. package/{libm → esm}/types.d.ts +33 -24
  165. package/esm/types.d.ts.map +1 -0
  166. package/{libm/console → esm}/types.js +0 -0
  167. package/esm/types.js.map +1 -0
  168. package/esm/types.spec.d.ts +2 -0
  169. package/esm/types.spec.d.ts.map +1 -0
  170. package/esm/types.spec.js +5 -0
  171. package/esm/types.spec.js.map +1 -0
  172. package/package.json +72 -31
  173. package/ts/console.ts +72 -0
  174. package/ts/errors.ts +12 -0
  175. package/{src/formatter/createTimestampFormatter.ts → ts/formatter.ts} +13 -2
  176. package/ts/index.ts +7 -0
  177. package/{src/logLevel.ts → ts/logLevels.ts} +20 -3
  178. package/ts/logStore.ts +52 -0
  179. package/ts/logger.ts +85 -0
  180. package/ts/memory.ts +47 -0
  181. package/ts/platform.browser.ts +8 -0
  182. package/ts/platform.ts +25 -0
  183. package/ts/standardLog.ts +54 -0
  184. package/{src → ts}/types.ts +39 -30
  185. package/dist/standard-log.js +0 -5472
  186. package/dist/standard-log.js.gz +0 -0
  187. package/dist/standard-log.js.map +0 -1
  188. package/dist/standard-log.js.map.gz +0 -0
  189. package/lib/LogEntry.d.ts +0 -7
  190. package/lib/LogEntry.d.ts.map +0 -1
  191. package/lib/LogEntry.js +0 -3
  192. package/lib/LogEntry.js.map +0 -1
  193. package/lib/captureLogs.d.ts +0 -4
  194. package/lib/captureLogs.d.ts.map +0 -1
  195. package/lib/captureLogs.js +0 -33
  196. package/lib/captureLogs.js.map +0 -1
  197. package/lib/config.d.ts +0 -12
  198. package/lib/config.d.ts.map +0 -1
  199. package/lib/config.js +0 -49
  200. package/lib/config.js.map +0 -1
  201. package/lib/configForTest.d.ts +0 -5
  202. package/lib/configForTest.d.ts.map +0 -1
  203. package/lib/configForTest.js +0 -18
  204. package/lib/configForTest.js.map +0 -1
  205. package/lib/console/createConsoleLogReporter.d.ts.map +0 -1
  206. package/lib/console/createConsoleLogReporter.js +0 -42
  207. package/lib/console/createConsoleLogReporter.js.map +0 -1
  208. package/lib/console/index.d.ts +0 -4
  209. package/lib/console/index.d.ts.map +0 -1
  210. package/lib/console/index.js +0 -7
  211. package/lib/console/index.js.map +0 -1
  212. package/lib/console/isConsoleDebugAvailable.d.ts +0 -2
  213. package/lib/console/isConsoleDebugAvailable.d.ts.map +0 -1
  214. package/lib/console/isConsoleDebugAvailable.js +0 -18
  215. package/lib/console/isConsoleDebugAvailable.js.map +0 -1
  216. package/lib/console/polyfilledConsole.d.ts +0 -7
  217. package/lib/console/polyfilledConsole.d.ts.map +0 -1
  218. package/lib/console/polyfilledConsole.js +0 -41
  219. package/lib/console/polyfilledConsole.js.map +0 -1
  220. package/lib/console/semverGt.d.ts +0 -2
  221. package/lib/console/semverGt.d.ts.map +0 -1
  222. package/lib/console/semverGt.js +0 -13
  223. package/lib/console/semverGt.js.map +0 -1
  224. package/lib/console/toConsoleMethod.d.ts +0 -2
  225. package/lib/console/toConsoleMethod.d.ts.map +0 -1
  226. package/lib/console/toConsoleMethod.js +0 -22
  227. package/lib/console/toConsoleMethod.js.map +0 -1
  228. package/lib/console/types.d.ts +0 -3
  229. package/lib/console/types.d.ts.map +0 -1
  230. package/lib/console/types.js.map +0 -1
  231. package/lib/customLogLevel.d.ts +0 -11
  232. package/lib/customLogLevel.d.ts.map +0 -1
  233. package/lib/customLogLevel.js +0 -38
  234. package/lib/customLogLevel.js.map +0 -1
  235. package/lib/errors.d.ts +0 -19
  236. package/lib/errors.d.ts.map +0 -1
  237. package/lib/errors.js +0 -46
  238. package/lib/errors.js.map +0 -1
  239. package/lib/formatter/createTimestampFormatter.d.ts +0 -3
  240. package/lib/formatter/createTimestampFormatter.d.ts.map +0 -1
  241. package/lib/formatter/createTimestampFormatter.js +0 -24
  242. package/lib/formatter/createTimestampFormatter.js.map +0 -1
  243. package/lib/formatter/formatLogLevel.d.ts +0 -2
  244. package/lib/formatter/formatLogLevel.d.ts.map +0 -1
  245. package/lib/formatter/formatLogLevel.js +0 -10
  246. package/lib/formatter/formatLogLevel.js.map +0 -1
  247. package/lib/formatter/index.d.ts +0 -4
  248. package/lib/formatter/index.d.ts.map +0 -1
  249. package/lib/formatter/index.js +0 -7
  250. package/lib/formatter/index.js.map +0 -1
  251. package/lib/formatter/plainLogFormatter.d.ts +0 -3
  252. package/lib/formatter/plainLogFormatter.d.ts.map +0 -1
  253. package/lib/formatter/plainLogFormatter.js +0 -11
  254. package/lib/formatter/plainLogFormatter.js.map +0 -1
  255. package/lib/getDefaultReporter.browser.d.ts +0 -2
  256. package/lib/getDefaultReporter.browser.d.ts.map +0 -1
  257. package/lib/getDefaultReporter.browser.js +0 -15
  258. package/lib/getDefaultReporter.browser.js.map +0 -1
  259. package/lib/getDefaultReporter.d.ts +0 -2
  260. package/lib/getDefaultReporter.d.ts.map +0 -1
  261. package/lib/getDefaultReporter.js +0 -19
  262. package/lib/getDefaultReporter.js.map +0 -1
  263. package/lib/getLogModeFromEnvironment.browser.d.ts +0 -3
  264. package/lib/getLogModeFromEnvironment.browser.d.ts.map +0 -1
  265. package/lib/getLogModeFromEnvironment.browser.js +0 -9
  266. package/lib/getLogModeFromEnvironment.browser.js.map +0 -1
  267. package/lib/getLogModeFromEnvironment.d.ts +0 -3
  268. package/lib/getLogModeFromEnvironment.d.ts.map +0 -1
  269. package/lib/getLogModeFromEnvironment.js +0 -17
  270. package/lib/getLogModeFromEnvironment.js.map +0 -1
  271. package/lib/getLogger.d.ts +0 -9
  272. package/lib/getLogger.d.ts.map +0 -1
  273. package/lib/getLogger.js +0 -95
  274. package/lib/getLogger.js.map +0 -1
  275. package/lib/getLoggers.d.ts +0 -7
  276. package/lib/getLoggers.d.ts.map +0 -1
  277. package/lib/getLoggers.js +0 -15
  278. package/lib/getLoggers.js.map +0 -1
  279. package/lib/index.d.ts +0 -17
  280. package/lib/index.d.ts.map +0 -1
  281. package/lib/index.js +0 -20
  282. package/lib/index.js.map +0 -1
  283. package/lib/logLevel.d.ts +0 -106
  284. package/lib/logLevel.d.ts.map +0 -1
  285. package/lib/logLevel.js +0 -59
  286. package/lib/logLevel.js.map +0 -1
  287. package/lib/logLevelFn.d.ts +0 -20
  288. package/lib/logLevelFn.d.ts.map +0 -1
  289. package/lib/logLevelFn.js +0 -76
  290. package/lib/logLevelFn.js.map +0 -1
  291. package/lib/logReporter.d.ts +0 -7
  292. package/lib/logReporter.d.ts.map +0 -1
  293. package/lib/logReporter.js +0 -29
  294. package/lib/logReporter.js.map +0 -1
  295. package/lib/logReporterInternal.d.ts +0 -3
  296. package/lib/logReporterInternal.d.ts.map +0 -1
  297. package/lib/logReporterInternal.js +0 -23
  298. package/lib/logReporterInternal.js.map +0 -1
  299. package/lib/memory/MemoryLogReporter.d.ts.map +0 -1
  300. package/lib/memory/MemoryLogReporter.js +0 -56
  301. package/lib/memory/MemoryLogReporter.js.map +0 -1
  302. package/lib/memory/index.d.ts +0 -3
  303. package/lib/memory/index.d.ts.map +0 -1
  304. package/lib/memory/index.js +0 -6
  305. package/lib/memory/index.js.map +0 -1
  306. package/lib/memory/logEntriesToString.d.ts +0 -3
  307. package/lib/memory/logEntriesToString.d.ts.map +0 -1
  308. package/lib/memory/logEntriesToString.js +0 -10
  309. package/lib/memory/logEntriesToString.js.map +0 -1
  310. package/lib/memory/toInspectStringForObject.d.ts +0 -3
  311. package/lib/memory/toInspectStringForObject.d.ts.map +0 -1
  312. package/lib/memory/toInspectStringForObject.js +0 -15
  313. package/lib/memory/toInspectStringForObject.js.map +0 -1
  314. package/lib/shouldLog.d.ts +0 -8
  315. package/lib/shouldLog.d.ts.map +0 -1
  316. package/lib/shouldLog.js +0 -14
  317. package/lib/shouldLog.js.map +0 -1
  318. package/lib/store.d.ts +0 -3
  319. package/lib/store.d.ts.map +0 -1
  320. package/lib/store.js +0 -17
  321. package/lib/store.js.map +0 -1
  322. package/lib/suppressLogs.d.ts +0 -6
  323. package/lib/suppressLogs.d.ts.map +0 -1
  324. package/lib/suppressLogs.js +0 -17
  325. package/lib/suppressLogs.js.map +0 -1
  326. package/lib/testUtil.d.ts +0 -7
  327. package/lib/testUtil.d.ts.map +0 -1
  328. package/lib/testUtil.js +0 -23
  329. package/lib/testUtil.js.map +0 -1
  330. package/lib/types.d.ts.map +0 -1
  331. package/lib/types.js +0 -3
  332. package/lib/types.js.map +0 -1
  333. package/lib/typesInternal.d.ts +0 -20
  334. package/lib/typesInternal.d.ts.map +0 -1
  335. package/lib/typesInternal.js +0 -3
  336. package/lib/typesInternal.js.map +0 -1
  337. package/lib/utils.d.ts +0 -5
  338. package/lib/utils.d.ts.map +0 -1
  339. package/lib/utils.js +0 -14
  340. package/lib/utils.js.map +0 -1
  341. package/lib/writeToReporters.d.ts +0 -6
  342. package/lib/writeToReporters.d.ts.map +0 -1
  343. package/lib/writeToReporters.js +0 -22
  344. package/lib/writeToReporters.js.map +0 -1
  345. package/libm/LogEntry.d.ts +0 -7
  346. package/libm/LogEntry.d.ts.map +0 -1
  347. package/libm/LogEntry.js +0 -2
  348. package/libm/LogEntry.js.map +0 -1
  349. package/libm/captureLogs.d.ts +0 -4
  350. package/libm/captureLogs.d.ts.map +0 -1
  351. package/libm/captureLogs.js +0 -29
  352. package/libm/captureLogs.js.map +0 -1
  353. package/libm/config.d.ts +0 -12
  354. package/libm/config.d.ts.map +0 -1
  355. package/libm/config.js +0 -44
  356. package/libm/config.js.map +0 -1
  357. package/libm/configForTest.d.ts +0 -5
  358. package/libm/configForTest.d.ts.map +0 -1
  359. package/libm/configForTest.js +0 -14
  360. package/libm/configForTest.js.map +0 -1
  361. package/libm/console/createConsoleLogReporter.d.ts.map +0 -1
  362. package/libm/console/createConsoleLogReporter.js +0 -37
  363. package/libm/console/createConsoleLogReporter.js.map +0 -1
  364. package/libm/console/index.d.ts +0 -4
  365. package/libm/console/index.d.ts.map +0 -1
  366. package/libm/console/index.js +0 -4
  367. package/libm/console/index.js.map +0 -1
  368. package/libm/console/isConsoleDebugAvailable.d.ts +0 -2
  369. package/libm/console/isConsoleDebugAvailable.d.ts.map +0 -1
  370. package/libm/console/isConsoleDebugAvailable.js +0 -13
  371. package/libm/console/isConsoleDebugAvailable.js.map +0 -1
  372. package/libm/console/polyfilledConsole.d.ts +0 -7
  373. package/libm/console/polyfilledConsole.d.ts.map +0 -1
  374. package/libm/console/polyfilledConsole.js.map +0 -1
  375. package/libm/console/semverGt.d.ts +0 -2
  376. package/libm/console/semverGt.d.ts.map +0 -1
  377. package/libm/console/semverGt.js +0 -9
  378. package/libm/console/semverGt.js.map +0 -1
  379. package/libm/console/toConsoleMethod.d.ts +0 -2
  380. package/libm/console/toConsoleMethod.d.ts.map +0 -1
  381. package/libm/console/toConsoleMethod.js +0 -18
  382. package/libm/console/toConsoleMethod.js.map +0 -1
  383. package/libm/console/types.d.ts +0 -3
  384. package/libm/console/types.d.ts.map +0 -1
  385. package/libm/console/types.js.map +0 -1
  386. package/libm/customLogLevel.d.ts +0 -11
  387. package/libm/customLogLevel.d.ts.map +0 -1
  388. package/libm/customLogLevel.js +0 -30
  389. package/libm/customLogLevel.js.map +0 -1
  390. package/libm/errors.d.ts +0 -19
  391. package/libm/errors.d.ts.map +0 -1
  392. package/libm/errors.js +0 -32
  393. package/libm/errors.js.map +0 -1
  394. package/libm/formatter/createTimestampFormatter.d.ts +0 -3
  395. package/libm/formatter/createTimestampFormatter.d.ts.map +0 -1
  396. package/libm/formatter/createTimestampFormatter.js.map +0 -1
  397. package/libm/formatter/formatLogLevel.d.ts +0 -2
  398. package/libm/formatter/formatLogLevel.d.ts.map +0 -1
  399. package/libm/formatter/formatLogLevel.js +0 -6
  400. package/libm/formatter/formatLogLevel.js.map +0 -1
  401. package/libm/formatter/index.d.ts +0 -4
  402. package/libm/formatter/index.d.ts.map +0 -1
  403. package/libm/formatter/index.js +0 -4
  404. package/libm/formatter/index.js.map +0 -1
  405. package/libm/formatter/plainLogFormatter.d.ts +0 -3
  406. package/libm/formatter/plainLogFormatter.d.ts.map +0 -1
  407. package/libm/formatter/plainLogFormatter.js +0 -5
  408. package/libm/formatter/plainLogFormatter.js.map +0 -1
  409. package/libm/getDefaultReporter.browser.d.ts +0 -2
  410. package/libm/getDefaultReporter.browser.d.ts.map +0 -1
  411. package/libm/getDefaultReporter.browser.js +0 -11
  412. package/libm/getDefaultReporter.browser.js.map +0 -1
  413. package/libm/getDefaultReporter.d.ts +0 -2
  414. package/libm/getDefaultReporter.d.ts.map +0 -1
  415. package/libm/getDefaultReporter.js +0 -15
  416. package/libm/getDefaultReporter.js.map +0 -1
  417. package/libm/getLogModeFromEnvironment.browser.d.ts +0 -3
  418. package/libm/getLogModeFromEnvironment.browser.d.ts.map +0 -1
  419. package/libm/getLogModeFromEnvironment.browser.js +0 -5
  420. package/libm/getLogModeFromEnvironment.browser.js.map +0 -1
  421. package/libm/getLogModeFromEnvironment.d.ts +0 -3
  422. package/libm/getLogModeFromEnvironment.d.ts.map +0 -1
  423. package/libm/getLogModeFromEnvironment.js +0 -13
  424. package/libm/getLogModeFromEnvironment.js.map +0 -1
  425. package/libm/getLogger.d.ts +0 -9
  426. package/libm/getLogger.d.ts.map +0 -1
  427. package/libm/getLogger.js +0 -78
  428. package/libm/getLogger.js.map +0 -1
  429. package/libm/getLoggers.d.ts +0 -7
  430. package/libm/getLoggers.d.ts.map +0 -1
  431. package/libm/getLoggers.js +0 -11
  432. package/libm/getLoggers.js.map +0 -1
  433. package/libm/index.d.ts +0 -17
  434. package/libm/index.d.ts.map +0 -1
  435. package/libm/index.js +0 -17
  436. package/libm/index.js.map +0 -1
  437. package/libm/logLevel.d.ts +0 -106
  438. package/libm/logLevel.d.ts.map +0 -1
  439. package/libm/logLevel.js.map +0 -1
  440. package/libm/logLevelFn.d.ts +0 -20
  441. package/libm/logLevelFn.d.ts.map +0 -1
  442. package/libm/logLevelFn.js +0 -67
  443. package/libm/logLevelFn.js.map +0 -1
  444. package/libm/logReporter.d.ts +0 -7
  445. package/libm/logReporter.d.ts.map +0 -1
  446. package/libm/logReporter.js +0 -21
  447. package/libm/logReporter.js.map +0 -1
  448. package/libm/logReporterInternal.d.ts +0 -3
  449. package/libm/logReporterInternal.d.ts.map +0 -1
  450. package/libm/logReporterInternal.js +0 -19
  451. package/libm/logReporterInternal.js.map +0 -1
  452. package/libm/memory/MemoryLogReporter.d.ts.map +0 -1
  453. package/libm/memory/MemoryLogReporter.js +0 -51
  454. package/libm/memory/MemoryLogReporter.js.map +0 -1
  455. package/libm/memory/index.d.ts +0 -3
  456. package/libm/memory/index.d.ts.map +0 -1
  457. package/libm/memory/index.js +0 -3
  458. package/libm/memory/index.js.map +0 -1
  459. package/libm/memory/logEntriesToString.d.ts +0 -3
  460. package/libm/memory/logEntriesToString.d.ts.map +0 -1
  461. package/libm/memory/logEntriesToString.js +0 -6
  462. package/libm/memory/logEntriesToString.js.map +0 -1
  463. package/libm/memory/toInspectStringForObject.d.ts +0 -3
  464. package/libm/memory/toInspectStringForObject.d.ts.map +0 -1
  465. package/libm/memory/toInspectStringForObject.js +0 -11
  466. package/libm/memory/toInspectStringForObject.js.map +0 -1
  467. package/libm/shouldLog.d.ts +0 -8
  468. package/libm/shouldLog.d.ts.map +0 -1
  469. package/libm/shouldLog.js +0 -10
  470. package/libm/shouldLog.js.map +0 -1
  471. package/libm/store.d.ts +0 -3
  472. package/libm/store.d.ts.map +0 -1
  473. package/libm/store.js +0 -24
  474. package/libm/store.js.map +0 -1
  475. package/libm/suppressLogs.d.ts +0 -6
  476. package/libm/suppressLogs.d.ts.map +0 -1
  477. package/libm/suppressLogs.js +0 -9
  478. package/libm/suppressLogs.js.map +0 -1
  479. package/libm/testUtil.d.ts +0 -7
  480. package/libm/testUtil.d.ts.map +0 -1
  481. package/libm/testUtil.js +0 -17
  482. package/libm/testUtil.js.map +0 -1
  483. package/libm/types.d.ts.map +0 -1
  484. package/libm/types.js +0 -2
  485. package/libm/types.js.map +0 -1
  486. package/libm/typesInternal.d.ts +0 -20
  487. package/libm/typesInternal.d.ts.map +0 -1
  488. package/libm/typesInternal.js +0 -2
  489. package/libm/typesInternal.js.map +0 -1
  490. package/libm/utils.d.ts +0 -5
  491. package/libm/utils.d.ts.map +0 -1
  492. package/libm/utils.js +0 -10
  493. package/libm/utils.js.map +0 -1
  494. package/libm/writeToReporters.d.ts +0 -6
  495. package/libm/writeToReporters.d.ts.map +0 -1
  496. package/libm/writeToReporters.js +0 -18
  497. package/libm/writeToReporters.js.map +0 -1
  498. package/src/LogEntry.ts +0 -7
  499. package/src/captureLogs.spec.ts +0 -52
  500. package/src/captureLogs.ts +0 -35
  501. package/src/config.spec.ts +0 -80
  502. package/src/config.ts +0 -57
  503. package/src/configForTest.spec.ts +0 -16
  504. package/src/configForTest.ts +0 -16
  505. package/src/console/createConsoleLogReporter.spec.ts +0 -198
  506. package/src/console/createConsoleLogReporter.ts +0 -42
  507. package/src/console/index.ts +0 -3
  508. package/src/console/isConsoleDebugAvailable.ts +0 -11
  509. package/src/console/polyfilledConsole.ts +0 -34
  510. package/src/console/semverGt.spec.ts +0 -25
  511. package/src/console/semverGt.ts +0 -9
  512. package/src/console/toConsoleMethod.ts +0 -18
  513. package/src/console/types.ts +0 -3
  514. package/src/customLogLevel.spec.ts +0 -39
  515. package/src/customLogLevel.ts +0 -35
  516. package/src/errors.ts +0 -24
  517. package/src/formatter/createTimestampFormatter.spec.ts +0 -24
  518. package/src/formatter/formatLogLevel.ts +0 -6
  519. package/src/formatter/index.ts +0 -3
  520. package/src/formatter/plainLogFormatter.spec.ts +0 -8
  521. package/src/formatter/plainLogFormatter.ts +0 -6
  522. package/src/getDefaultReporter.browser.ts +0 -13
  523. package/src/getDefaultReporter.ts +0 -15
  524. package/src/getLogModeFromEnvironment.browser.ts +0 -6
  525. package/src/getLogModeFromEnvironment.spec.ts +0 -16
  526. package/src/getLogModeFromEnvironment.ts +0 -16
  527. package/src/getLogger.spec.ts +0 -460
  528. package/src/getLogger.ts +0 -92
  529. package/src/getLoggers.ts +0 -12
  530. package/src/index.ts +0 -16
  531. package/src/logLevel.spec.ts +0 -161
  532. package/src/logLevelFn.ts +0 -72
  533. package/src/logReporter.spec.ts +0 -99
  534. package/src/logReporter.ts +0 -26
  535. package/src/logReporterInternal.ts +0 -18
  536. package/src/memory/MemoryLogReporter.spec.ts +0 -114
  537. package/src/memory/MemoryLogReporter.ts +0 -66
  538. package/src/memory/index.ts +0 -2
  539. package/src/memory/logEntriesToString.spec.ts +0 -47
  540. package/src/memory/logEntriesToString.ts +0 -7
  541. package/src/memory/toInspectStringForObject.ts +0 -13
  542. package/src/shouldLog.ts +0 -11
  543. package/src/store.ts +0 -25
  544. package/src/suppressLogs.spec.ts +0 -34
  545. package/src/suppressLogs.ts +0 -14
  546. package/src/testUtil.ts +0 -19
  547. package/src/types.spec.ts +0 -7
  548. package/src/typesInternal.ts +0 -21
  549. package/src/utils.ts +0 -9
  550. package/src/writeToReporters.spec.ts +0 -9
  551. package/src/writeToReporters.ts +0 -20
@@ -1,460 +0,0 @@
1
- import a from 'assertron'
2
- import delay from 'delay'
3
- import { addCustomLogLevel, clearCustomLogLevel, getLogger, InvalidId, Logger, logLevels, LogMethodNames, setLogLevel, toLogLevel, toLogLevelName } from '.'
4
- import { config } from './config'
5
- import { createMemoryLogReporter, MemoryLogReporter } from './memory'
6
- import { store } from './store'
7
- import { captureWrittenLog } from './testUtil'
8
-
9
- afterEach(() => {
10
- clearCustomLogLevel()
11
- store.reset()
12
- })
13
-
14
- test('logger id supports alphanumeric and :_-.', () => {
15
- getLogger('abcdefghijklmnopqrstuvwxyz:-_.1234567890')
16
- })
17
-
18
- test('logger id supports unicode', () => {
19
- getLogger('ミク香港')
20
- })
21
-
22
- test('logger id supports @, \\ and /', () => {
23
- getLogger('@unional/fixture')
24
- getLogger(`a\\b\\c`)
25
- })
26
-
27
- test.each('`~!#$%^&*()=+|[]{}<>,?'.split(''))('throws if id has unsupported character %s', (char: string) => {
28
- a.throws(() => getLogger(char), InvalidId)
29
- })
30
-
31
- test('get logger with same name gets the same instance', () => {
32
- const expected = getLogger('same-inst')
33
- const actual = getLogger('same-inst')
34
- expect(actual).toBe(expected)
35
- })
36
-
37
- test('can specify local log level', () => {
38
- const log = getLogger('local', { level: logLevels.trace })
39
- expect(log.level).toBe(logLevels.trace)
40
- })
41
-
42
- test('new logger will get custom level', () => {
43
- addCustomLogLevel('to_logger', 1234)
44
- const actual = getLogger<LogMethodNames | 'to_logger'>('to_logger_logger')
45
- expect(typeof actual.to_logger).toBe('function')
46
- })
47
-
48
- test('existing logger will get custom level', () => {
49
- const actual = getLogger<LogMethodNames | 'old_logger'>('old_logger')
50
- addCustomLogLevel('old_logger', 122)
51
- expect(typeof actual.old_logger).toBe('function')
52
- })
53
-
54
- describe('validate write to reporters', () => {
55
- let capture: ReturnType<typeof captureWrittenLog>
56
- beforeEach(() => {
57
- store.value.mode = 'test'
58
- store.value.logLevel = logLevels.debug
59
- capture = captureWrittenLog()
60
- })
61
- afterEach(() => {
62
- capture.reset()
63
- })
64
- test('logger with custom level', async () => {
65
- addCustomLogLevel('cust_lvl', 100)
66
- const logger = getLogger<'cust_lvl'>('cust')
67
- logger.cust_lvl('a', 'b')
68
-
69
- a.satisfies(capture.logs, [{ id: 'cust', level: 100, args: ['a', 'b'] }])
70
- })
71
- describe('count()', () => {
72
- test('will increment the counter', async () => {
73
- const logger = getLogger('inc counter')
74
-
75
- logger.count()
76
- logger.count()
77
-
78
- a.satisfies(capture.logs, [
79
- { id: 'inc counter', level: logLevels.debug, args: [1] },
80
- { id: 'inc counter', level: logLevels.debug, args: [2] }
81
- ])
82
- })
83
-
84
- test('append args after the counter', async () => {
85
- store.value.logLevel = logLevels.debug
86
- const id = 'inc with args'
87
- const logger = getLogger(id)
88
- logger.count('msg1', 'msg2')
89
-
90
- a.satisfies(capture.logs, [
91
- { id, level: logLevels.debug, args: [1, 'msg1', 'msg2'] }
92
- ])
93
- })
94
-
95
- test('not log if log level is less than debug', async () => {
96
- store.value.logLevel = logLevels.debug - 1
97
- const id = 'inc with args'
98
- const logger = getLogger(id)
99
- logger.count('msg1', 'msg2')
100
-
101
- expect(capture.logs.length).toBe(0)
102
- })
103
- })
104
-
105
- describe('log level tests', () => {
106
- beforeEach(() => {
107
- store.value.mode = 'test'
108
- store.value.logLevel = logLevels.error
109
- })
110
-
111
- afterEach(() => {
112
- store.reset()
113
- })
114
-
115
- async function assertLoggedAtLevel(log: any, level: number) {
116
- setLogLevel(level)
117
- const msg = `should log on level: ${level}`
118
- log[log.id](msg)
119
- a.satisfies(capture.logs, [{ id: log.id, level: toLogLevel(log.id), args: [msg] }])
120
- }
121
-
122
- async function assertNotLoggedAtLevel(log: any, level: number) {
123
- setLogLevel(level)
124
- log[log.id](`should not log on level: ${level}`)
125
- expect(capture.logs.length).toBe(0)
126
- }
127
-
128
- async function assertLoggedAtLocalLevel(log: any, globalLevel: number, localLevel: number) {
129
- setLogLevel(globalLevel)
130
- log.level = localLevel
131
-
132
- const msg = `should log on level: ${localLevel}`
133
- log[log.id](msg)
134
- a.satisfies(capture.logs, [{ id: log.id, level: toLogLevel(log.id), args: [msg] }])
135
- }
136
-
137
- async function assertNotLoggedAtLocalLevel(log: any, globalLevel: number, localLevel: number) {
138
- setLogLevel(globalLevel)
139
- log.level = localLevel
140
- log[log.id](`should not log on level: ${localLevel}`)
141
- expect(capture.logs.length).toBe(0)
142
- }
143
-
144
- async function assertLogFunctionCalledAtLevel(log: any, callLevel: number, actualLevel: number) {
145
- setLogLevel(actualLevel)
146
- let actual = false
147
- log.on(callLevel, () => actual = true)
148
- expect(actual).toBe(true)
149
- }
150
-
151
- async function assertLogFunctionCalledAtLocalLevel(log: Logger, callLevel: number, globalLevel: number, localLevel: number) {
152
- setLogLevel(globalLevel)
153
- log.level = localLevel
154
- let actual = false
155
- log.on(callLevel, () => actual = true)
156
- expect(actual).toBe(true)
157
- }
158
- function assertLogFunctionNotCalledAtLevel(log: any, callLevel: number, actualLevel: number) {
159
- setLogLevel(actualLevel)
160
- log.on(callLevel, () => { throw new Error(`should not log at level ${actualLevel}`) })
161
- }
162
-
163
- function assertLogFunctionNotCalledAtLocalLevel(log: any, callLevel: number, globalLevel: number, localLevel: number) {
164
- setLogLevel(globalLevel)
165
- log.level = localLevel
166
- log.on(callLevel, () => { throw new Error(`should not log at local level ${localLevel}`) })
167
- }
168
-
169
- const shouldLog = wrapTest((test) => (method: string, level: number) => {
170
- const name = toLogLevelName(level)
171
- test(`${method}() should log on level: ${name} (${level})`, () => {
172
- const log = getLogger(method)
173
-
174
- return assertLoggedAtLevel(log, level)
175
- })
176
- })
177
-
178
- const shouldNotLog = wrapTest((test) => (method: string, level: number) => {
179
- const name = toLogLevelName(level)
180
- test(`${method}() should not log on level: ${name} (${level})`, () => {
181
- const log = getLogger(method)
182
-
183
- return assertNotLoggedAtLevel(log, level)
184
- })
185
- })
186
-
187
- const shouldLogWithLocalLevelOverride = wrapTest((test) => (method: string, localLevel: number) => {
188
- const localName = toLogLevelName(localLevel);
189
-
190
- [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {
191
- const globalName = toLogLevelName(globalLevel) || 'none'
192
- test(`${method}() should log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {
193
- const log = getLogger(method)
194
-
195
- return assertLoggedAtLocalLevel(log, globalLevel, localLevel)
196
- })
197
- })
198
- })
199
-
200
- const shouldNotLogWithLocalLevelOverride = wrapTest((test) => (method: string, localLevel: number) => {
201
- const localName = toLogLevelName(localLevel);
202
-
203
- [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {
204
- const globalName = toLogLevelName(globalLevel) || 'none'
205
- test(`${method}() should not log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {
206
- const log = getLogger(method)
207
-
208
- return assertNotLoggedAtLocalLevel(log, globalLevel, localLevel)
209
- })
210
- })
211
- })
212
-
213
- const shouldCallLogFunction = wrapTest((test) => (callLevel: number, actualLevel: number) => {
214
- const method = toLogLevelName(callLevel)
215
- const name = toLogLevelName(actualLevel)
216
- test(`${method}() should call log function on level: ${name} (${actualLevel})`, () => {
217
- const log = getLogger(method)
218
-
219
- return assertLogFunctionCalledAtLevel(log, callLevel, actualLevel)
220
- })
221
- })
222
-
223
- const shouldNotCallLogFunction = wrapTest((test) => (callLevel: number, actualLevel: number) => {
224
- const method = toLogLevelName(callLevel)
225
- const name = toLogLevelName(actualLevel)
226
- test(`${method}() should not call log function on level: ${name} (${actualLevel})`, () => {
227
- const log = getLogger(method)
228
-
229
- assertLogFunctionNotCalledAtLevel(log, callLevel, actualLevel)
230
- })
231
- })
232
-
233
- const shouldCallLogFunctionWithLocalLevelOverride = wrapTest((test) => (callLevel: number, localLevel: number) => {
234
- const method = toLogLevelName(callLevel)
235
- const localName = toLogLevelName(localLevel);
236
-
237
- [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {
238
- const globalName = toLogLevelName(globalLevel) || 'none'
239
- test(`${method}() should log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {
240
- const log = getLogger(method)
241
-
242
- return assertLogFunctionCalledAtLocalLevel(log, callLevel, globalLevel, localLevel)
243
- })
244
- })
245
- })
246
-
247
- const shouldNotCallLogFunctionWithLocalLevelOverride = wrapTest((test) => (callLevel: number, localLevel: number) => {
248
- const method = toLogLevelName(callLevel)
249
- const localName = toLogLevelName(localLevel);
250
-
251
- [logLevels.none, logLevels.error, logLevels.warn, logLevels.info, logLevels.debug].forEach(globalLevel => {
252
- const globalName = toLogLevelName(globalLevel) || 'none'
253
- test(`${method}() should not log on local level: ${localName} (${localLevel}) while global level: ${globalName} (${globalLevel})`, () => {
254
- const log = getLogger(method)
255
-
256
- assertLogFunctionNotCalledAtLocalLevel(log, callLevel, globalLevel, localLevel)
257
- })
258
- })
259
- })
260
-
261
- function wrapTest<F>(fn: (test: jest.It) => F) {
262
- return Object.assign(fn(test), { only: fn(test.only), skip: fn(test.skip) })
263
- }
264
-
265
- shouldNotLog('error', logLevels.none)
266
- shouldLog('error', logLevels.error)
267
- shouldLog('error', logLevels.warn)
268
- shouldLog('error', logLevels.info)
269
- shouldLog('error', logLevels.debug)
270
- shouldNotLogWithLocalLevelOverride('error', logLevels.none)
271
- shouldLogWithLocalLevelOverride('error', logLevels.error)
272
- shouldLogWithLocalLevelOverride('error', logLevels.warn)
273
- shouldLogWithLocalLevelOverride('error', logLevels.info)
274
- shouldLogWithLocalLevelOverride('error', logLevels.debug)
275
-
276
- shouldNotLog('warn', logLevels.none)
277
- shouldNotLog('warn', logLevels.error)
278
- shouldLog('warn', logLevels.warn)
279
- shouldLog('warn', logLevels.info)
280
- shouldLog('warn', logLevels.debug)
281
- shouldNotLogWithLocalLevelOverride('warn', logLevels.none)
282
- shouldNotLogWithLocalLevelOverride('warn', logLevels.error)
283
- shouldLogWithLocalLevelOverride('warn', logLevels.warn)
284
- shouldLogWithLocalLevelOverride('warn', logLevels.info)
285
- shouldLogWithLocalLevelOverride('warn', logLevels.debug)
286
-
287
- shouldNotLog('info', logLevels.none)
288
- shouldNotLog('info', logLevels.error)
289
- shouldNotLog('info', logLevels.warn)
290
- shouldLog('info', logLevels.info)
291
- shouldLog('info', logLevels.debug)
292
- shouldNotLogWithLocalLevelOverride('info', logLevels.none)
293
- shouldNotLogWithLocalLevelOverride('info', logLevels.error)
294
- shouldNotLogWithLocalLevelOverride('info', logLevels.warn)
295
- shouldLogWithLocalLevelOverride('info', logLevels.info)
296
- shouldLogWithLocalLevelOverride('info', logLevels.debug)
297
-
298
- shouldNotLog('debug', logLevels.none)
299
- shouldNotLog('debug', logLevels.error)
300
- shouldNotLog('debug', logLevels.warn)
301
- shouldNotLog('debug', logLevels.info)
302
- shouldLog('debug', logLevels.debug)
303
- shouldNotLogWithLocalLevelOverride('debug', logLevels.none)
304
- shouldNotLogWithLocalLevelOverride('debug', logLevels.error)
305
- shouldNotLogWithLocalLevelOverride('debug', logLevels.warn)
306
- shouldNotLogWithLocalLevelOverride('debug', logLevels.info)
307
- shouldLogWithLocalLevelOverride('debug', logLevels.debug)
308
-
309
- shouldNotCallLogFunction(logLevels.error, logLevels.none)
310
- shouldCallLogFunction(logLevels.error, logLevels.error)
311
- shouldCallLogFunction(logLevels.error, logLevels.warn)
312
- shouldCallLogFunction(logLevels.error, logLevels.info)
313
- shouldCallLogFunction(logLevels.error, logLevels.debug)
314
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.none)
315
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.error)
316
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.warn)
317
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.info)
318
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.error, logLevels.debug)
319
-
320
- shouldNotCallLogFunction(logLevels.warn, logLevels.none)
321
- shouldNotCallLogFunction(logLevels.warn, logLevels.error)
322
- shouldCallLogFunction(logLevels.warn, logLevels.warn)
323
- shouldCallLogFunction(logLevels.warn, logLevels.info)
324
- shouldCallLogFunction(logLevels.warn, logLevels.debug)
325
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.none)
326
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.error)
327
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.warn)
328
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.info)
329
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.warn, logLevels.debug)
330
-
331
- shouldNotCallLogFunction(logLevels.info, logLevels.none)
332
- shouldNotCallLogFunction(logLevels.info, logLevels.error)
333
- shouldNotCallLogFunction(logLevels.info, logLevels.warn)
334
- shouldCallLogFunction(logLevels.info, logLevels.info)
335
- shouldCallLogFunction(logLevels.info, logLevels.debug)
336
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.none)
337
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.error)
338
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.warn)
339
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.info)
340
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.info, logLevels.debug)
341
-
342
- shouldNotCallLogFunction(logLevels.debug, logLevels.none)
343
- shouldNotCallLogFunction(logLevels.debug, logLevels.error)
344
- shouldNotCallLogFunction(logLevels.debug, logLevels.warn)
345
- shouldNotCallLogFunction(logLevels.debug, logLevels.info)
346
- shouldCallLogFunction(logLevels.debug, logLevels.debug)
347
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.none)
348
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.error)
349
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.warn)
350
- shouldNotCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.info)
351
- shouldCallLogFunctionWithLocalLevelOverride(logLevels.debug, logLevels.debug)
352
- })
353
-
354
- test('on() log using log argument', () => {
355
- store.value.mode = 'test'
356
- store.value.logLevel = logLevels.debug
357
- const logger = getLogger('log on fn')
358
-
359
- logger.on('error', log => { log('value') })
360
-
361
- a.satisfies(capture.logs, [
362
- { id: 'log on fn', level: logLevels.error, args: ['value'] }
363
- ])
364
- })
365
-
366
- test('write entry directly', () => {
367
- const log = getLogger('write-entry')
368
- const entry = { id: 'write-entry', level: logLevels.info, args: ['abc'], timestamp: new Date() }
369
- log.write(entry)
370
- a.satisfies(capture.logs, [entry])
371
- })
372
- })
373
-
374
- test('on() can take log level name in first argument', () => {
375
- const log = getLogger('string-on')
376
- log.on('debug', () => { return })
377
- })
378
-
379
- test('auto configure', async () => {
380
- expect(store.value.configured).toBeFalsy()
381
- const log = getLogger('auto config')
382
-
383
- log.info('config is called automatically as expected')
384
-
385
- await delay(10)
386
- expect(store.value.configured).toBeTruthy()
387
- })
388
-
389
- describe('writeTo', () => {
390
- let memReporter: MemoryLogReporter
391
- let specialReporter: MemoryLogReporter
392
- beforeEach(() => {
393
- memReporter = createMemoryLogReporter()
394
- specialReporter = createMemoryLogReporter({ id: 'special' })
395
- config({ mode: 'test', reporters: [memReporter, specialReporter] })
396
- })
397
- test('specific reporter with string', () => {
398
- const log = getLogger('writeTo-string', { writeTo: 'special' })
399
- log.error('error message')
400
-
401
- expect(memReporter.logs.length).toEqual(0)
402
- expect(specialReporter.logs.length).toEqual(1)
403
- })
404
-
405
- test('specific reporter with regex', () => {
406
- const log = getLogger('writeTo-regex', { writeTo: /^spec/ })
407
- log.error('error message')
408
-
409
- expect(memReporter.logs.length).toEqual(0)
410
- expect(specialReporter.logs.length).toEqual(1)
411
- })
412
-
413
- test('specific reporter with RegExp', () => {
414
- const log = getLogger('writeTo-RegExp', { writeTo: new RegExp('^spec') })
415
- log.error('error message')
416
-
417
- expect(memReporter.logs.length).toEqual(0)
418
- expect(specialReporter.logs.length).toEqual(1)
419
- })
420
-
421
- test('specific reporter with function', () => {
422
- const log = getLogger('writeTo-fn', { writeTo: id => id === 'special' })
423
- log.error('error message')
424
-
425
- expect(memReporter.logs.length).toEqual(0)
426
- expect(specialReporter.logs.length).toEqual(1)
427
- })
428
-
429
- test('custom reporter', () => {
430
- const reporter = createMemoryLogReporter({ id: 'custom mem' })
431
- const log = getLogger('writeTo-reporter', { writeTo: reporter })
432
- log.error('error message')
433
-
434
- expect(reporter.logs.length).toEqual(1)
435
- })
436
-
437
- test('custom reporter cannot override added console reporter', () => {
438
- // if not, it would be a security issue as the new reporter
439
- // can capture the logs from other logger and send it elsewhere
440
- const reporter = createMemoryLogReporter({ id: 'custom mem' })
441
- reporter.isConsoleReporter = true
442
- getLogger('writeTo-reporter-no-override', { writeTo: reporter })
443
- const log = getLogger('writeTo-reporter-no-override-2')
444
- log.error('error message')
445
-
446
- expect(reporter.logs.length).toEqual(0)
447
- })
448
- })
449
-
450
- test('id is readonly', () => {
451
- const log: any = getLogger('id is readonly')
452
- a.throws(() => log.id = 'b')
453
- })
454
-
455
- test.each(['on', 'count', 'error', 'warn', 'info', 'debug'])('method %s is readonly', name => {
456
- const log: any = getLogger(`${name} is readonly`)
457
-
458
- a.throws(() => log[name] = true)
459
- })
460
-
package/src/getLogger.ts DELETED
@@ -1,92 +0,0 @@
1
- import { InvalidId } from './errors'
2
- import { logLevels } from './logLevel'
3
- import { getAllLogLevels, toLogLevel, toLogLevelName } from './logLevelFn'
4
- import { addLogReporterInternal } from './logReporterInternal'
5
- import { shouldLog } from './shouldLog'
6
- import { store } from './store'
7
- import { LogEntry, LogFunction, Logger, LogMethodNames, LogReporter, ReporterFilter } from './types'
8
- import { LoggerClosure } from './typesInternal'
9
- import { writeToReporters } from './writeToReporters'
10
-
11
- export namespace getLogger {
12
- export type Options = {
13
- level?: number,
14
- writeTo?: LogReporter | ReporterFilter
15
- }
16
- }
17
-
18
- export function getLogger<T extends string = LogMethodNames>(
19
- id: string, options?: getLogger.Options
20
- ): Logger<T | LogMethodNames> {
21
- validateId(id)
22
- const loggerClosures = store.value.loggerClosures
23
- const loggerClosure: any = loggerClosures[id] ||
24
- (loggerClosures[id] = createLoggerClosure<T | LogMethodNames>(id, options))
25
- return loggerClosure.logger
26
- }
27
-
28
- function validateId(id: string) {
29
- if (/[`~!#$%^&*()=+[\]{},|<>?]/.test(id)) throw new InvalidId(id)
30
- }
31
-
32
- function createLoggerClosure<T extends string>(id: string, { level, writeTo = () => true }: getLogger.Options = {}): LoggerClosure<T> {
33
- const filter: (reporterId: string) => boolean = typeof writeTo === 'string'
34
- ? id => id === writeTo
35
- : writeTo instanceof RegExp
36
- ? id => writeTo.test(id)
37
- : typeof writeTo === 'function'
38
- ? writeTo
39
- : (addLogReporterInternal(writeTo), id => id === writeTo.id)
40
-
41
- function write(entry: LogEntry) {
42
- writeToReporters(entry, filter)
43
- }
44
- const logger = {
45
- level,
46
- write
47
- } as any
48
-
49
- Object.defineProperties(logger, {
50
- id: { value: id, writable: false },
51
- count: {
52
- writable: false,
53
- value: ((counter) => (...args: any[]) => {
54
- const level = logLevels.debug
55
- if (shouldLog(level, logger.level))
56
- write({
57
- id,
58
- level,
59
- args: [++counter, ...args],
60
- timestamp: new Date()
61
- })
62
- })(0)
63
- },
64
- on: {
65
- writable: false,
66
- value: (level: number | T, logFn: LogFunction) => {
67
- const logLevel = typeof level === 'string' ? toLogLevel(level)! : level
68
- if (shouldLog(logLevel, logger.level)) {
69
- const methodName = toLogLevelName(logLevel)
70
- const bindedMethod = logger[methodName].bind(logger)
71
- const result = logFn(bindedMethod)
72
- if (result) bindedMethod(result)
73
- }
74
- }
75
- }
76
- })
77
- const loggerClosure: LoggerClosure<T> = {
78
- addMethod(name, level) {
79
- Object.defineProperty(logger, name, {
80
- writable: false,
81
- value: (...args: any[]) => {
82
- if (shouldLog(level, logger.level)) write({ id, level, args, timestamp: new Date() })
83
- }
84
- })
85
- },
86
- logger
87
- }
88
-
89
- getAllLogLevels().forEach(({ name, level }) => loggerClosure.addMethod(name, level))
90
-
91
- return loggerClosure
92
- }
package/src/getLoggers.ts DELETED
@@ -1,12 +0,0 @@
1
- import { filterKey } from 'type-plus';
2
- import { store } from './store';
3
- import { Logger } from './types';
4
-
5
- /**
6
- * Get loggers based on RegExp.
7
- * @param filter RegExp to look for loggers
8
- */
9
- export function getLoggers(filter: RegExp): Logger<any>[] {
10
- const { loggerClosures } = store.value
11
- return filterKey(loggerClosures, id => filter.test(id)).map(k => loggerClosures[k].logger)
12
- }
package/src/index.ts DELETED
@@ -1,16 +0,0 @@
1
- export * from './captureLogs'
2
- export * from './config'
3
- export * from './configForTest'
4
- export * from './console'
5
- export * from './customLogLevel'
6
- export * from './errors'
7
- export * from './formatter'
8
- export * from './getLogger'
9
- export * from './logLevel'
10
- export * from './logLevelFn'
11
- export * from './logReporter'
12
- export * from './memory'
13
- export * from './shouldLog'
14
- export * from './suppressLogs'
15
- export * from './types'
16
- export * from './utils'