@vlian/framework 1.2.25 → 1.2.38

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 (319) hide show
  1. package/dist/analytics.umd.js +208 -2395
  2. package/dist/analytics.umd.js.map +1 -1
  3. package/dist/core/Test.cjs +2 -2
  4. package/dist/core/Test.cjs.map +1 -1
  5. package/dist/core/Test.js +1 -1
  6. package/dist/core/Test.js.map +1 -1
  7. package/dist/core/config/ConfigLoader.cjs +7 -7
  8. package/dist/core/config/ConfigLoader.cjs.map +1 -1
  9. package/dist/core/config/ConfigLoader.js +1 -1
  10. package/dist/core/config/ConfigLoader.js.map +1 -1
  11. package/dist/core/error/ErrorBoundary.cjs +6 -6
  12. package/dist/core/error/ErrorBoundary.cjs.map +1 -1
  13. package/dist/core/error/ErrorBoundary.d.ts +1 -1
  14. package/dist/core/error/ErrorBoundary.js +2 -2
  15. package/dist/core/error/ErrorBoundary.js.map +1 -1
  16. package/dist/core/error/ErrorHandler.cjs +19 -19
  17. package/dist/core/error/ErrorHandler.cjs.map +1 -1
  18. package/dist/core/error/ErrorHandler.d.ts +2 -2
  19. package/dist/core/error/ErrorHandler.js +2 -2
  20. package/dist/core/error/ErrorHandler.js.map +1 -1
  21. package/dist/core/event/AppEventBus.cjs +5 -5
  22. package/dist/core/event/AppEventBus.cjs.map +1 -1
  23. package/dist/core/event/AppEventBus.js +1 -1
  24. package/dist/core/event/AppEventBus.js.map +1 -1
  25. package/dist/core/initialization/InitializationErrorThrower.cjs.map +1 -1
  26. package/dist/core/initialization/InitializationErrorThrower.js.map +1 -1
  27. package/dist/core/initialization/initialization.cjs +3 -3
  28. package/dist/core/initialization/initialization.cjs.map +1 -1
  29. package/dist/core/initialization/initialization.d.ts +1 -1
  30. package/dist/core/initialization/initialization.js +1 -1
  31. package/dist/core/initialization/initialization.js.map +1 -1
  32. package/dist/core/initialization/initializationErrorState.cjs +2 -2
  33. package/dist/core/initialization/initializationErrorState.cjs.map +1 -1
  34. package/dist/core/initialization/initializationErrorState.d.ts +1 -1
  35. package/dist/core/initialization/initializationErrorState.js +1 -1
  36. package/dist/core/initialization/initializationErrorState.js.map +1 -1
  37. package/dist/core/kernel/defaultAdapters.cjs +14 -13
  38. package/dist/core/kernel/defaultAdapters.cjs.map +1 -1
  39. package/dist/core/kernel/defaultAdapters.js +2 -1
  40. package/dist/core/kernel/defaultAdapters.js.map +1 -1
  41. package/dist/core/kernel/types.d.ts +1 -1
  42. package/dist/core/kernel/types.js.map +1 -1
  43. package/dist/core/router/RouterManager.cjs +9 -9
  44. package/dist/core/router/RouterManager.cjs.map +1 -1
  45. package/dist/core/router/RouterManager.js +1 -1
  46. package/dist/core/router/RouterManager.js.map +1 -1
  47. package/dist/core/router/adapter/AdapterManager.cjs +10 -10
  48. package/dist/core/router/adapter/AdapterManager.cjs.map +1 -1
  49. package/dist/core/router/adapter/AdapterManager.js +1 -1
  50. package/dist/core/router/adapter/AdapterManager.js.map +1 -1
  51. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +4 -4
  52. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +1 -1
  53. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -1
  54. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +1 -1
  55. package/dist/core/router/dynamic/DynamicRouteManager.cjs +8 -8
  56. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +1 -1
  57. package/dist/core/router/dynamic/DynamicRouteManager.js +1 -1
  58. package/dist/core/router/dynamic/DynamicRouteManager.js.map +1 -1
  59. package/dist/core/router/errors/RouterError.cjs +4 -4
  60. package/dist/core/router/errors/RouterError.cjs.map +1 -1
  61. package/dist/core/router/errors/RouterError.d.ts +1 -1
  62. package/dist/core/router/errors/RouterError.js +1 -1
  63. package/dist/core/router/errors/RouterError.js.map +1 -1
  64. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +8 -8
  65. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +1 -1
  66. package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -1
  67. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +1 -1
  68. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +11 -11
  69. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +1 -1
  70. package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -1
  71. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +1 -1
  72. package/dist/core/router/middleware/auth.cjs +4 -4
  73. package/dist/core/router/middleware/auth.cjs.map +1 -1
  74. package/dist/core/router/middleware/auth.js +1 -1
  75. package/dist/core/router/middleware/auth.js.map +1 -1
  76. package/dist/core/router/monitoring/RouterMonitoring.cjs +2 -2
  77. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
  78. package/dist/core/router/monitoring/RouterMonitoring.js +2 -2
  79. package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
  80. package/dist/core/router/navigation/RouterNavigation.cjs +7 -7
  81. package/dist/core/router/navigation/RouterNavigation.cjs.map +1 -1
  82. package/dist/core/router/navigation/RouterNavigation.js +1 -1
  83. package/dist/core/router/navigation/RouterNavigation.js.map +1 -1
  84. package/dist/core/router/performance/RouteCache.cjs +7 -7
  85. package/dist/core/router/performance/RouteCache.cjs.map +1 -1
  86. package/dist/core/router/performance/RouteCache.js +1 -1
  87. package/dist/core/router/performance/RouteCache.js.map +1 -1
  88. package/dist/core/router/performance/RoutePreloader.cjs +6 -6
  89. package/dist/core/router/performance/RoutePreloader.cjs.map +1 -1
  90. package/dist/core/router/performance/RoutePreloader.js +1 -1
  91. package/dist/core/router/performance/RoutePreloader.js.map +1 -1
  92. package/dist/core/router/plugin/RouterPluginManager.cjs +8 -8
  93. package/dist/core/router/plugin/RouterPluginManager.cjs.map +1 -1
  94. package/dist/core/router/plugin/RouterPluginManager.js +1 -1
  95. package/dist/core/router/plugin/RouterPluginManager.js.map +1 -1
  96. package/dist/core/router/utils/adapters/react-router/transform.cjs +6 -2
  97. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
  98. package/dist/core/router/utils/adapters/react-router/transform.js +5 -1
  99. package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
  100. package/dist/core/router/utils/transform.cjs +13 -12
  101. package/dist/core/router/utils/transform.cjs.map +1 -1
  102. package/dist/core/router/utils/transform.js +2 -1
  103. package/dist/core/router/utils/transform.js.map +1 -1
  104. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -2
  105. package/dist/core/router/validation/RouterConfigValidator.cjs.map +1 -1
  106. package/dist/core/router/validation/RouterConfigValidator.js +1 -1
  107. package/dist/core/router/validation/RouterConfigValidator.js.map +1 -1
  108. package/dist/core/router/version/RouteVersionManager.cjs +6 -6
  109. package/dist/core/router/version/RouteVersionManager.cjs.map +1 -1
  110. package/dist/core/router/version/RouteVersionManager.js +1 -1
  111. package/dist/core/router/version/RouteVersionManager.js.map +1 -1
  112. package/dist/core/splash/SplashScreen.cjs +4 -4
  113. package/dist/core/splash/SplashScreen.cjs.map +1 -1
  114. package/dist/core/splash/SplashScreen.js +1 -1
  115. package/dist/core/splash/SplashScreen.js.map +1 -1
  116. package/dist/core/startup/initializeServices.cjs +15 -15
  117. package/dist/core/startup/initializeServices.cjs.map +1 -1
  118. package/dist/core/startup/initializeServices.d.ts +2 -2
  119. package/dist/core/startup/initializeServices.js +3 -3
  120. package/dist/core/startup/initializeServices.js.map +1 -1
  121. package/dist/core/startup/performanceTracker.cjs.map +1 -1
  122. package/dist/core/startup/performanceTracker.d.ts +1 -1
  123. package/dist/core/startup/performanceTracker.js.map +1 -1
  124. package/dist/core/startup/renderApp.cjs +3 -3
  125. package/dist/core/startup/renderApp.cjs.map +1 -1
  126. package/dist/core/startup/renderApp.d.ts +1 -1
  127. package/dist/core/startup/renderApp.js +2 -2
  128. package/dist/core/startup/renderApp.js.map +1 -1
  129. package/dist/core/startup/startApp.cjs +24 -24
  130. package/dist/core/startup/startApp.cjs.map +1 -1
  131. package/dist/core/startup/startApp.js +5 -5
  132. package/dist/core/startup/startApp.js.map +1 -1
  133. package/dist/core/types.d.ts +3 -3
  134. package/dist/core/types.js.map +1 -1
  135. package/dist/index.cjs +15 -2
  136. package/dist/index.cjs.map +1 -1
  137. package/dist/index.d.ts +6 -4
  138. package/dist/index.js +5 -4
  139. package/dist/index.js.map +1 -1
  140. package/dist/index.umd.js +2150 -23125
  141. package/dist/index.umd.js.map +1 -1
  142. package/dist/kernel/constants.cjs +67 -0
  143. package/dist/kernel/constants.cjs.map +1 -0
  144. package/dist/kernel/constants.d.ts +5 -0
  145. package/dist/kernel/constants.js +43 -0
  146. package/dist/kernel/constants.js.map +1 -0
  147. package/dist/kernel/index.cjs +40 -0
  148. package/dist/kernel/index.cjs.map +1 -0
  149. package/dist/kernel/index.d.ts +3 -0
  150. package/dist/kernel/index.js +4 -0
  151. package/dist/kernel/index.js.map +1 -0
  152. package/dist/kernel/kernel.cjs +296 -0
  153. package/dist/kernel/kernel.cjs.map +1 -0
  154. package/dist/kernel/kernel.d.ts +40 -0
  155. package/dist/kernel/kernel.js +272 -0
  156. package/dist/kernel/kernel.js.map +1 -0
  157. package/dist/kernel/manager/cacheManager.cjs +46 -0
  158. package/dist/kernel/manager/cacheManager.cjs.map +1 -0
  159. package/dist/kernel/manager/cacheManager.d.ts +6 -0
  160. package/dist/kernel/manager/cacheManager.js +36 -0
  161. package/dist/kernel/manager/cacheManager.js.map +1 -0
  162. package/dist/kernel/manager/i18nManager.cjs +68 -0
  163. package/dist/kernel/manager/i18nManager.cjs.map +1 -0
  164. package/dist/kernel/manager/i18nManager.d.ts +8 -0
  165. package/dist/kernel/manager/i18nManager.js +58 -0
  166. package/dist/kernel/manager/i18nManager.js.map +1 -0
  167. package/dist/kernel/manager/index.cjs +30 -0
  168. package/dist/kernel/manager/index.cjs.map +1 -0
  169. package/dist/kernel/manager/index.d.ts +4 -0
  170. package/dist/kernel/manager/index.js +6 -0
  171. package/dist/kernel/manager/index.js.map +1 -0
  172. package/dist/kernel/manager/loggerManager.cjs +70 -0
  173. package/dist/kernel/manager/loggerManager.cjs.map +1 -0
  174. package/dist/kernel/manager/loggerManager.d.ts +14 -0
  175. package/dist/kernel/manager/loggerManager.js +60 -0
  176. package/dist/kernel/manager/loggerManager.js.map +1 -0
  177. package/dist/kernel/manager/persistence.cjs +93 -0
  178. package/dist/kernel/manager/persistence.cjs.map +1 -0
  179. package/dist/kernel/manager/persistence.d.ts +3 -0
  180. package/dist/kernel/manager/persistence.js +75 -0
  181. package/dist/kernel/manager/persistence.js.map +1 -0
  182. package/dist/kernel/manager/themeManager.cjs +85 -0
  183. package/dist/kernel/manager/themeManager.cjs.map +1 -0
  184. package/dist/kernel/manager/themeManager.d.ts +9 -0
  185. package/dist/kernel/manager/themeManager.js +75 -0
  186. package/dist/kernel/manager/themeManager.js.map +1 -0
  187. package/dist/kernel/types.cjs +6 -0
  188. package/dist/kernel/types.cjs.map +1 -0
  189. package/dist/kernel/types.d.ts +72 -0
  190. package/dist/kernel/types.js +3 -0
  191. package/dist/kernel/types.js.map +1 -0
  192. package/dist/library/storage/encryption.cjs +12 -13
  193. package/dist/library/storage/encryption.cjs.map +1 -1
  194. package/dist/library/storage/encryption.js +1 -2
  195. package/dist/library/storage/encryption.js.map +1 -1
  196. package/dist/request/adapter.d.ts +1 -0
  197. package/dist/request/core.d.ts +1 -0
  198. package/dist/request/index.d.ts +1 -42
  199. package/dist/request/plugin/csrfPlugin.d.ts +2 -2
  200. package/dist/request/plugin/queue.d.ts +2 -2
  201. package/dist/request/plugin.d.ts +1 -0
  202. package/dist/request/runtime.d.ts +1 -0
  203. package/dist/request/types.d.ts +1 -394
  204. package/dist/request/utils.d.ts +1 -0
  205. package/dist/state.umd.js +1 -1
  206. package/dist/utils/csrf.cjs +13 -152
  207. package/dist/utils/csrf.cjs.map +1 -1
  208. package/dist/utils/csrf.d.ts +1 -72
  209. package/dist/utils/csrf.js +1 -142
  210. package/dist/utils/csrf.js.map +1 -1
  211. package/dist/utils/errors/ErrorCodes.cjs +6 -76
  212. package/dist/utils/errors/ErrorCodes.cjs.map +1 -1
  213. package/dist/utils/errors/ErrorCodes.d.ts +1 -45
  214. package/dist/utils/errors/ErrorCodes.js +1 -84
  215. package/dist/utils/errors/ErrorCodes.js.map +1 -1
  216. package/dist/utils/errors.cjs +53 -326
  217. package/dist/utils/errors.cjs.map +1 -1
  218. package/dist/utils/errors.d.ts +19 -172
  219. package/dist/utils/errors.js +16 -352
  220. package/dist/utils/errors.js.map +1 -1
  221. package/dist/utils/logger.cjs +5 -374
  222. package/dist/utils/logger.cjs.map +1 -1
  223. package/dist/utils/logger.d.ts +2 -189
  224. package/dist/utils/logger.js +1 -379
  225. package/dist/utils/logger.js.map +1 -1
  226. package/dist/utils/logger.types.cjs +3 -12
  227. package/dist/utils/logger.types.cjs.map +1 -1
  228. package/dist/utils/logger.types.d.ts +2 -57
  229. package/dist/utils/logger.types.js +1 -10
  230. package/dist/utils/logger.types.js.map +1 -1
  231. package/dist/utils/monitoring.cjs +11 -302
  232. package/dist/utils/monitoring.cjs.map +1 -1
  233. package/dist/utils/monitoring.d.ts +1 -163
  234. package/dist/utils/monitoring.js +1 -294
  235. package/dist/utils/monitoring.js.map +1 -1
  236. package/dist/utils/performance.cjs +5 -352
  237. package/dist/utils/performance.cjs.map +1 -1
  238. package/dist/utils/performance.d.ts +2 -246
  239. package/dist/utils/performance.js +1 -354
  240. package/dist/utils/performance.js.map +1 -1
  241. package/dist/utils/resourceLoader.cjs +5 -303
  242. package/dist/utils/resourceLoader.cjs.map +1 -1
  243. package/dist/utils/resourceLoader.d.ts +2 -130
  244. package/dist/utils/resourceLoader.js +1 -305
  245. package/dist/utils/resourceLoader.js.map +1 -1
  246. package/dist/utils/runtimeSecurity.cjs +2 -140
  247. package/dist/utils/runtimeSecurity.cjs.map +1 -1
  248. package/dist/utils/runtimeSecurity.d.ts +2 -104
  249. package/dist/utils/runtimeSecurity.js +1 -141
  250. package/dist/utils/runtimeSecurity.js.map +1 -1
  251. package/dist/utils/security.cjs +3 -314
  252. package/dist/utils/security.cjs.map +1 -1
  253. package/dist/utils/security.d.ts +2 -80
  254. package/dist/utils/security.js +1 -311
  255. package/dist/utils/security.js.map +1 -1
  256. package/dist/utils/traceId.cjs +10 -111
  257. package/dist/utils/traceId.cjs.map +1 -1
  258. package/dist/utils/traceId.d.ts +1 -63
  259. package/dist/utils/traceId.js +1 -116
  260. package/dist/utils/traceId.js.map +1 -1
  261. package/dist/utils/validation.cjs +3 -173
  262. package/dist/utils/validation.cjs.map +1 -1
  263. package/dist/utils/validation.d.ts +2 -110
  264. package/dist/utils/validation.js +1 -175
  265. package/dist/utils/validation.js.map +1 -1
  266. package/package.json +15 -24
  267. package/dist/lazy/index.cjs +0 -104
  268. package/dist/lazy/index.cjs.map +0 -1
  269. package/dist/lazy/index.d.ts +0 -19
  270. package/dist/lazy/index.js +0 -24
  271. package/dist/lazy/index.js.map +0 -1
  272. package/dist/request/adapter/RequestAdapter.cjs +0 -78
  273. package/dist/request/adapter/RequestAdapter.cjs.map +0 -1
  274. package/dist/request/adapter/axiosAdapter.cjs +0 -164
  275. package/dist/request/adapter/axiosAdapter.cjs.map +0 -1
  276. package/dist/request/adapter/fetchAdapter.cjs +0 -134
  277. package/dist/request/adapter/fetchAdapter.cjs.map +0 -1
  278. package/dist/request/adapter/index.cjs +0 -80
  279. package/dist/request/adapter/index.cjs.map +0 -1
  280. package/dist/request/adapter/kyAdapter.cjs +0 -191
  281. package/dist/request/adapter/kyAdapter.cjs.map +0 -1
  282. package/dist/request/adapter/undiciAdapter.cjs +0 -213
  283. package/dist/request/adapter/undiciAdapter.cjs.map +0 -1
  284. package/dist/request/core/RequestClient.cjs +0 -558
  285. package/dist/request/core/RequestClient.cjs.map +0 -1
  286. package/dist/request/core/index.cjs +0 -15
  287. package/dist/request/core/index.cjs.map +0 -1
  288. package/dist/request/index.cjs +0 -149
  289. package/dist/request/index.cjs.map +0 -1
  290. package/dist/request/plugin/RequestPlugin.cjs +0 -218
  291. package/dist/request/plugin/RequestPlugin.cjs.map +0 -1
  292. package/dist/request/plugin/cache.cjs +0 -269
  293. package/dist/request/plugin/cache.cjs.map +0 -1
  294. package/dist/request/plugin/csrfPlugin.cjs +0 -40
  295. package/dist/request/plugin/csrfPlugin.cjs.map +0 -1
  296. package/dist/request/plugin/index.cjs +0 -53
  297. package/dist/request/plugin/index.cjs.map +0 -1
  298. package/dist/request/plugin/monitoring.cjs +0 -216
  299. package/dist/request/plugin/monitoring.cjs.map +0 -1
  300. package/dist/request/plugin/queue.cjs +0 -140
  301. package/dist/request/plugin/queue.cjs.map +0 -1
  302. package/dist/request/plugin/retry.cjs +0 -98
  303. package/dist/request/plugin/retry.cjs.map +0 -1
  304. package/dist/request/plugin/validation.cjs +0 -121
  305. package/dist/request/plugin/validation.cjs.map +0 -1
  306. package/dist/request/runtime/RequestContext.cjs +0 -77
  307. package/dist/request/runtime/RequestContext.cjs.map +0 -1
  308. package/dist/request/runtime/index.cjs +0 -32
  309. package/dist/request/runtime/index.cjs.map +0 -1
  310. package/dist/request/types.cjs +0 -112
  311. package/dist/request/types.cjs.map +0 -1
  312. package/dist/request/utils/RequestQueueManager.cjs +0 -168
  313. package/dist/request/utils/RequestQueueManager.cjs.map +0 -1
  314. package/dist/request/utils/dependencyCheck.cjs +0 -237
  315. package/dist/request/utils/dependencyCheck.cjs.map +0 -1
  316. package/dist/request/utils/index.cjs +0 -30
  317. package/dist/request/utils/index.cjs.map +0 -1
  318. package/dist/request.umd.js +0 -5392
  319. package/dist/request.umd.js.map +0 -1
@@ -10,387 +10,18 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  get LogFormat () {
13
- return LogFormat;
13
+ return _logger.LogFormat;
14
14
  },
15
15
  get Logger () {
16
- return Logger;
16
+ return _logger.Logger;
17
17
  },
18
18
  get createLogger () {
19
- return createLogger;
19
+ return _logger.createLogger;
20
20
  },
21
21
  get logger () {
22
- return logger;
22
+ return _logger.logger;
23
23
  }
24
24
  });
25
- const _loggertypes = require("./logger.types");
26
- const _security = require("./security");
27
- const _traceId = require("./traceId");
28
- function _define_property(obj, key, value) {
29
- if (key in obj) {
30
- Object.defineProperty(obj, key, {
31
- value: value,
32
- enumerable: true,
33
- configurable: true,
34
- writable: true
35
- });
36
- } else {
37
- obj[key] = value;
38
- }
39
- return obj;
40
- }
41
- /**
42
- * 检测运行环境是否为浏览器
43
- */ const isBrowser = ()=>{
44
- return typeof window !== 'undefined' && typeof window.document !== 'undefined';
45
- };
46
- /**
47
- * ANSI 颜色代码(用于 Node.js 环境)
48
- */ const ANSI_COLORS = {
49
- reset: '\x1b[0m',
50
- bright: '\x1b[1m',
51
- dim: '\x1b[2m',
52
- red: '\x1b[31m',
53
- green: '\x1b[32m',
54
- yellow: '\x1b[33m',
55
- blue: '\x1b[34m',
56
- magenta: '\x1b[35m',
57
- cyan: '\x1b[36m',
58
- white: '\x1b[37m',
59
- bgRed: '\x1b[41m',
60
- bgGreen: '\x1b[42m',
61
- bgYellow: '\x1b[43m',
62
- bgBlue: '\x1b[44m',
63
- bgMagenta: '\x1b[45m',
64
- bgCyan: '\x1b[46m',
65
- bgWhite: '\x1b[47m'
66
- };
67
- /**
68
- * 浏览器控制台样式(用于浏览器环境)
69
- */ const BROWSER_STYLES = {
70
- debug: 'color: #888; font-weight: normal;',
71
- info: 'color: #2196F3; font-weight: normal;',
72
- warn: 'color: #FF9800; font-weight: bold;',
73
- error: 'color: #F44336; font-weight: bold;'
74
- };
75
- /**
76
- * 日志级别对应的颜色配置
77
- */ const LEVEL_COLORS = {
78
- [_loggertypes.LogLevel.DEBUG]: {
79
- node: ANSI_COLORS.dim + ANSI_COLORS.white,
80
- browser: BROWSER_STYLES.debug
81
- },
82
- [_loggertypes.LogLevel.INFO]: {
83
- node: ANSI_COLORS.cyan,
84
- browser: BROWSER_STYLES.info
85
- },
86
- [_loggertypes.LogLevel.WARN]: {
87
- node: ANSI_COLORS.yellow,
88
- browser: BROWSER_STYLES.warn
89
- },
90
- [_loggertypes.LogLevel.ERROR]: {
91
- node: ANSI_COLORS.red + ANSI_COLORS.bright,
92
- browser: BROWSER_STYLES.error
93
- },
94
- [_loggertypes.LogLevel.NONE]: {
95
- node: '',
96
- browser: ''
97
- }
98
- };
99
- /**
100
- * 日志级别标签
101
- */ const LEVEL_LABELS = {
102
- [_loggertypes.LogLevel.DEBUG]: 'DEBUG',
103
- [_loggertypes.LogLevel.INFO]: 'INFO',
104
- [_loggertypes.LogLevel.WARN]: 'WARN',
105
- [_loggertypes.LogLevel.ERROR]: 'ERROR',
106
- [_loggertypes.LogLevel.NONE]: ''
107
- };
108
- var LogFormat = /*#__PURE__*/ function(LogFormat) {
109
- /**
110
- * 文本格式(默认)
111
- */ LogFormat["TEXT"] = "text";
112
- /**
113
- * JSON 格式(用于日志聚合)
114
- */ LogFormat["JSON"] = "json";
115
- /**
116
- * 结构化格式(用于分析)
117
- */ LogFormat["STRUCTURED"] = "structured";
118
- return LogFormat;
119
- }({});
120
- /**
121
- * Logger 类
122
- */ let Logger = class Logger {
123
- /**
124
- * 设置日志级别
125
- */ setLevel(level) {
126
- this.level = level;
127
- }
128
- /**
129
- * 获取当前日志级别
130
- */ getLevel() {
131
- return this.level;
132
- }
133
- /**
134
- * 格式化时间戳
135
- */ formatTimestamp() {
136
- const now = new Date();
137
- const year = now.getFullYear();
138
- const month = String(now.getMonth() + 1).padStart(2, '0');
139
- const day = String(now.getDate()).padStart(2, '0');
140
- const hours = String(now.getHours()).padStart(2, '0');
141
- const minutes = String(now.getMinutes()).padStart(2, '0');
142
- const seconds = String(now.getSeconds()).padStart(2, '0');
143
- const milliseconds = String(now.getMilliseconds()).padStart(3, '0');
144
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}.${milliseconds}`;
145
- }
146
- /**
147
- * 构建日志前缀
148
- */ buildPrefix(logLevel) {
149
- const parts = [];
150
- if (this.showTimestamp) {
151
- parts.push(`[${this.formatTimestamp()}]`);
152
- }
153
- if (this.showLevel) {
154
- parts.push(`[${LEVEL_LABELS[logLevel]}]`);
155
- }
156
- // 添加追踪 ID(如果存在)
157
- const traceId = (0, _traceId.getCurrentTraceId)();
158
- if (traceId) {
159
- parts.push(`[Trace:${traceId.substring(0, 8)}]`);
160
- }
161
- if (this.prefix) {
162
- parts.push(`[${this.prefix}]`);
163
- }
164
- return parts.join(' ');
165
- }
166
- /**
167
- * 输出日志(Node.js 环境)
168
- */ logNode(level, ...args) {
169
- if (level < this.level) {
170
- return;
171
- }
172
- const prefix = this.buildPrefix(level);
173
- const colorConfig = LEVEL_COLORS[level];
174
- const reset = this.enableColors ? ANSI_COLORS.reset : '';
175
- if (this.enableColors && colorConfig.node) {
176
- console.log(`${colorConfig.node}${prefix}${reset}`, ...args);
177
- } else {
178
- console.log(prefix, ...args);
179
- }
180
- }
181
- /**
182
- * 输出日志(浏览器环境)
183
- */ logBrowser(level, ...args) {
184
- if (level < this.level) {
185
- return;
186
- }
187
- const prefix = this.buildPrefix(level);
188
- const colorConfig = LEVEL_COLORS[level];
189
- if (this.enableColors && colorConfig.browser) {
190
- console.log(`%c${prefix}`, colorConfig.browser, ...args);
191
- } else {
192
- console.log(prefix, ...args);
193
- }
194
- }
195
- /**
196
- * 脱敏处理
197
- */ sanitizeValue(value) {
198
- if (!this.enableSanitization) {
199
- return value;
200
- }
201
- if (typeof value === 'string') {
202
- // 检查是否包含敏感内容
203
- if (_security.SecurityUtils.containsDangerousContent(value)) {
204
- return _security.SecurityUtils.sanitizeText(value);
205
- }
206
- return value;
207
- }
208
- if (value && typeof value === 'object') {
209
- if (Array.isArray(value)) {
210
- return value.map((item)=>this.sanitizeValue(item));
211
- }
212
- const sanitized = {};
213
- for (const [key, val] of Object.entries(value)){
214
- // 检查是否为敏感字段
215
- if (_security.SecurityUtils.isSensitiveField(key)) {
216
- sanitized[key] = '***';
217
- } else {
218
- sanitized[key] = this.sanitizeValue(val);
219
- }
220
- }
221
- return sanitized;
222
- }
223
- return value;
224
- }
225
- /**
226
- * 处理日志参数(脱敏、过滤等)
227
- */ processLogArgs(...args) {
228
- // 生产环境自动禁用 DEBUG 级别
229
- if (this.isProduction && this.level === _loggertypes.LogLevel.DEBUG) {
230
- return [];
231
- }
232
- return args.map((arg)=>this.sanitizeValue(arg));
233
- }
234
- /**
235
- * 设置日志格式
236
- */ setFormat(format) {
237
- this.format = format;
238
- }
239
- /**
240
- * 设置日志上下文
241
- */ setContext(context) {
242
- this.context = {
243
- ...this.context,
244
- ...context
245
- };
246
- }
247
- /**
248
- * 更新日志上下文
249
- */ updateContext(context) {
250
- this.context = {
251
- ...this.context,
252
- ...context
253
- };
254
- }
255
- /**
256
- * 获取日志上下文
257
- */ getContext() {
258
- return {
259
- ...this.context
260
- };
261
- }
262
- /**
263
- * 清除日志上下文
264
- */ clearContext() {
265
- this.context = {};
266
- }
267
- /**
268
- * 注册日志处理器(用于日志聚合)
269
- */ addLogHandler(handler) {
270
- this.logHandlers.push(handler);
271
- return ()=>{
272
- const index = this.logHandlers.indexOf(handler);
273
- if (index > -1) {
274
- this.logHandlers.splice(index, 1);
275
- }
276
- };
277
- }
278
- /**
279
- * 创建结构化日志条目
280
- */ createStructuredEntry(level, message, data) {
281
- const traceId = (0, _traceId.getCurrentTraceId)();
282
- const entry = {
283
- timestamp: new Date().toISOString(),
284
- level,
285
- message,
286
- context: {
287
- ...this.context,
288
- traceId: traceId || this.context.traceId
289
- },
290
- source: this.prefix || 'framework'
291
- };
292
- if (data !== undefined) {
293
- entry.data = this.sanitizeValue(data);
294
- }
295
- // 如果是错误,提取堆栈信息
296
- if (data instanceof Error) {
297
- entry.stack = data.stack;
298
- entry.message = data.message || message;
299
- }
300
- return entry;
301
- }
302
- /**
303
- * 输出结构化日志
304
- */ outputStructured(entry) {
305
- // 调用日志处理器
306
- this.logHandlers.forEach((handler)=>{
307
- try {
308
- handler(entry);
309
- } catch (error) {
310
- // 忽略处理器错误,避免循环
311
- }
312
- });
313
- // 根据格式输出
314
- if (this.format === "json") {
315
- console.log(JSON.stringify(entry));
316
- } else if (this.format === "structured") {
317
- console.log(entry);
318
- } else {
319
- // TEXT 格式使用原有输出方式
320
- const args = entry.data !== undefined ? [
321
- entry.data
322
- ] : [];
323
- if (isBrowser()) {
324
- this.logBrowser(entry.level, entry.message, ...args);
325
- } else {
326
- this.logNode(entry.level, entry.message, ...args);
327
- }
328
- }
329
- }
330
- /**
331
- * 通用日志输出方法
332
- */ log(level, ...args) {
333
- if (level < this.level) {
334
- return;
335
- }
336
- const processedArgs = this.processLogArgs(...args);
337
- // 如果处理后没有参数(被过滤),则不输出
338
- if (processedArgs.length === 0) {
339
- return;
340
- }
341
- // 提取消息和数据
342
- const message = typeof processedArgs[0] === 'string' ? processedArgs[0] : 'Log message';
343
- const data = processedArgs.length > 1 ? processedArgs.slice(1) : typeof processedArgs[0] === 'string' ? undefined : processedArgs[0];
344
- // 创建结构化日志条目
345
- const entry = this.createStructuredEntry(level, message, data);
346
- // 输出日志
347
- this.outputStructured(entry);
348
- }
349
- /**
350
- * 输出 DEBUG 级别日志
351
- */ debug(...args) {
352
- this.log(_loggertypes.LogLevel.DEBUG, ...args);
353
- }
354
- /**
355
- * 输出 INFO 级别日志
356
- */ info(...args) {
357
- this.log(_loggertypes.LogLevel.INFO, ...args);
358
- }
359
- /**
360
- * 输出 WARN 级别日志
361
- */ warn(...args) {
362
- this.log(_loggertypes.LogLevel.WARN, ...args);
363
- }
364
- /**
365
- * 输出 ERROR 级别日志
366
- */ error(...args) {
367
- this.log(_loggertypes.LogLevel.ERROR, ...args);
368
- }
369
- constructor(options = {}){
370
- _define_property(this, "level", void 0);
371
- _define_property(this, "enableColors", void 0);
372
- _define_property(this, "showTimestamp", void 0);
373
- _define_property(this, "showLevel", void 0);
374
- _define_property(this, "prefix", void 0);
375
- _define_property(this, "enableSanitization", void 0);
376
- _define_property(this, "isProduction", void 0);
377
- _define_property(this, "format", void 0);
378
- _define_property(this, "context", {});
379
- _define_property(this, "logHandlers", []);
380
- this.level = options.level ?? _loggertypes.LogLevel.INFO;
381
- this.enableColors = options.enableColors ?? true;
382
- this.showTimestamp = options.showTimestamp ?? true;
383
- this.showLevel = options.showLevel ?? true;
384
- this.prefix = options.prefix ?? '';
385
- this.enableSanitization = options.enableSanitization ?? true;
386
- this.isProduction = typeof process !== 'undefined' && process.env.NODE_ENV === 'production';
387
- this.format = options.format ?? "text";
388
- this.context = options.context ?? {};
389
- }
390
- };
391
- const createLogger = (options)=>{
392
- return new Logger(options);
393
- };
394
- const logger = createLogger();
25
+ const _logger = require("@vlian/logger");
395
26
 
396
27
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/logger.ts"],"sourcesContent":["import type { LoggerOptions } from './logger.types';\nimport { LogLevel } from './logger.types';\nimport { SecurityUtils } from './security';\nimport { getCurrentTraceId } from './traceId';\n\n/**\n * 检测运行环境是否为浏览器\n */\nconst isBrowser = (): boolean => {\n return typeof window !== 'undefined' && typeof window.document !== 'undefined';\n};\n\n/**\n * ANSI 颜色代码(用于 Node.js 环境)\n */\nconst ANSI_COLORS = {\n reset: '\\x1b[0m',\n bright: '\\x1b[1m',\n dim: '\\x1b[2m',\n red: '\\x1b[31m',\n green: '\\x1b[32m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n magenta: '\\x1b[35m',\n cyan: '\\x1b[36m',\n white: '\\x1b[37m',\n bgRed: '\\x1b[41m',\n bgGreen: '\\x1b[42m',\n bgYellow: '\\x1b[43m',\n bgBlue: '\\x1b[44m',\n bgMagenta: '\\x1b[45m',\n bgCyan: '\\x1b[46m',\n bgWhite: '\\x1b[47m',\n} as const;\n\n/**\n * 浏览器控制台样式(用于浏览器环境)\n */\nconst BROWSER_STYLES = {\n debug: 'color: #888; font-weight: normal;',\n info: 'color: #2196F3; font-weight: normal;',\n warn: 'color: #FF9800; font-weight: bold;',\n error: 'color: #F44336; font-weight: bold;',\n} as const;\n\n/**\n * 日志级别对应的颜色配置\n */\nconst LEVEL_COLORS: Record<LogLevel, { node: string; browser: string }> = {\n [LogLevel.DEBUG]: {\n node: ANSI_COLORS.dim + ANSI_COLORS.white,\n browser: BROWSER_STYLES.debug,\n },\n [LogLevel.INFO]: {\n node: ANSI_COLORS.cyan,\n browser: BROWSER_STYLES.info,\n },\n [LogLevel.WARN]: {\n node: ANSI_COLORS.yellow,\n browser: BROWSER_STYLES.warn,\n },\n [LogLevel.ERROR]: {\n node: ANSI_COLORS.red + ANSI_COLORS.bright,\n browser: BROWSER_STYLES.error,\n },\n [LogLevel.NONE]: {\n node: '',\n browser: '',\n },\n};\n\n/**\n * 日志级别标签\n */\nconst LEVEL_LABELS: Record<LogLevel, string> = {\n [LogLevel.DEBUG]: 'DEBUG',\n [LogLevel.INFO]: 'INFO',\n [LogLevel.WARN]: 'WARN',\n [LogLevel.ERROR]: 'ERROR',\n [LogLevel.NONE]: '',\n};\n\n/**\n * 日志格式类型\n */\nexport enum LogFormat {\n /**\n * 文本格式(默认)\n */\n TEXT = 'text',\n /**\n * JSON 格式(用于日志聚合)\n */\n JSON = 'json',\n /**\n * 结构化格式(用于分析)\n */\n STRUCTURED = 'structured',\n}\n\n/**\n * 日志上下文\n */\nexport interface LogContext {\n /**\n * 追踪 ID\n */\n traceId?: string;\n /**\n * 用户 ID\n */\n userId?: string;\n /**\n * 会话 ID\n */\n sessionId?: string;\n /**\n * 请求 ID\n */\n requestId?: string;\n /**\n * 自定义上下文\n */\n [key: string]: unknown;\n}\n\n/**\n * 结构化日志条目\n */\nexport interface StructuredLogEntry {\n /**\n * 时间戳\n */\n timestamp: string;\n /**\n * 日志级别\n */\n level: LogLevel;\n /**\n * 日志消息\n */\n message: string;\n /**\n * 日志数据\n */\n data?: unknown;\n /**\n * 日志上下文\n */\n context?: LogContext;\n /**\n * 日志来源\n */\n source?: string;\n /**\n * 错误堆栈(如果是错误日志)\n */\n stack?: string;\n}\n\n/**\n * Logger 类\n */\nclass Logger {\n private level: LogLevel;\n private enableColors: boolean;\n private showTimestamp: boolean;\n private showLevel: boolean;\n private prefix: string;\n private enableSanitization: boolean;\n private isProduction: boolean;\n private format: LogFormat;\n private context: LogContext = {};\n private logHandlers: Array<(entry: StructuredLogEntry) => void> = [];\n\n constructor(options: LoggerOptions = {}) {\n this.level = options.level ?? LogLevel.INFO;\n this.enableColors = options.enableColors ?? true;\n this.showTimestamp = options.showTimestamp ?? true;\n this.showLevel = options.showLevel ?? true;\n this.prefix = options.prefix ?? '';\n this.enableSanitization = options.enableSanitization ?? true;\n this.isProduction = typeof process !== 'undefined' && process.env.NODE_ENV === 'production';\n this.format = (options as any).format ?? LogFormat.TEXT;\n this.context = (options as any).context ?? {};\n }\n\n /**\n * 设置日志级别\n */\n setLevel(level: LogLevel): void {\n this.level = level;\n }\n\n /**\n * 获取当前日志级别\n */\n getLevel(): LogLevel {\n return this.level;\n }\n\n /**\n * 格式化时间戳\n */\n private formatTimestamp(): string {\n const now = new Date();\n const year = now.getFullYear();\n const month = String(now.getMonth() + 1).padStart(2, '0');\n const day = String(now.getDate()).padStart(2, '0');\n const hours = String(now.getHours()).padStart(2, '0');\n const minutes = String(now.getMinutes()).padStart(2, '0');\n const seconds = String(now.getSeconds()).padStart(2, '0');\n const milliseconds = String(now.getMilliseconds()).padStart(3, '0');\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}.${milliseconds}`;\n }\n\n /**\n * 构建日志前缀\n */\n private buildPrefix(logLevel: LogLevel): string {\n const parts: string[] = [];\n\n if (this.showTimestamp) {\n parts.push(`[${this.formatTimestamp()}]`);\n }\n\n if (this.showLevel) {\n parts.push(`[${LEVEL_LABELS[logLevel]}]`);\n }\n\n // 添加追踪 ID(如果存在)\n const traceId = getCurrentTraceId();\n if (traceId) {\n parts.push(`[Trace:${traceId.substring(0, 8)}]`);\n }\n\n if (this.prefix) {\n parts.push(`[${this.prefix}]`);\n }\n\n return parts.join(' ');\n }\n\n /**\n * 输出日志(Node.js 环境)\n */\n private logNode(level: LogLevel, ...args: unknown[]): void {\n if (level < this.level) {\n return;\n }\n\n const prefix = this.buildPrefix(level);\n const colorConfig = LEVEL_COLORS[level];\n const reset = this.enableColors ? ANSI_COLORS.reset : '';\n\n if (this.enableColors && colorConfig.node) {\n console.log(`${colorConfig.node}${prefix}${reset}`, ...args);\n } else {\n console.log(prefix, ...args);\n }\n }\n\n /**\n * 输出日志(浏览器环境)\n */\n private logBrowser(level: LogLevel, ...args: unknown[]): void {\n if (level < this.level) {\n return;\n }\n\n const prefix = this.buildPrefix(level);\n const colorConfig = LEVEL_COLORS[level];\n\n if (this.enableColors && colorConfig.browser) {\n console.log(`%c${prefix}`, colorConfig.browser, ...args);\n } else {\n console.log(prefix, ...args);\n }\n }\n\n /**\n * 脱敏处理\n */\n private sanitizeValue(value: unknown): unknown {\n if (!this.enableSanitization) {\n return value;\n }\n\n if (typeof value === 'string') {\n // 检查是否包含敏感内容\n if (SecurityUtils.containsDangerousContent(value)) {\n return SecurityUtils.sanitizeText(value);\n }\n return value;\n }\n\n if (value && typeof value === 'object') {\n if (Array.isArray(value)) {\n return value.map((item) => this.sanitizeValue(item));\n }\n\n const sanitized: Record<string, unknown> = {};\n for (const [key, val] of Object.entries(value)) {\n // 检查是否为敏感字段\n if (SecurityUtils.isSensitiveField(key)) {\n sanitized[key] = '***';\n } else {\n sanitized[key] = this.sanitizeValue(val);\n }\n }\n return sanitized;\n }\n\n return value;\n }\n\n /**\n * 处理日志参数(脱敏、过滤等)\n */\n private processLogArgs(...args: unknown[]): unknown[] {\n // 生产环境自动禁用 DEBUG 级别\n if (this.isProduction && this.level === LogLevel.DEBUG) {\n return [];\n }\n\n return args.map((arg) => this.sanitizeValue(arg));\n }\n\n /**\n * 设置日志格式\n */\n setFormat(format: LogFormat): void {\n this.format = format;\n }\n\n /**\n * 设置日志上下文\n */\n setContext(context: LogContext): void {\n this.context = { ...this.context, ...context };\n }\n\n /**\n * 更新日志上下文\n */\n updateContext(context: Partial<LogContext>): void {\n this.context = { ...this.context, ...context };\n }\n\n /**\n * 获取日志上下文\n */\n getContext(): LogContext {\n return { ...this.context };\n }\n\n /**\n * 清除日志上下文\n */\n clearContext(): void {\n this.context = {};\n }\n\n /**\n * 注册日志处理器(用于日志聚合)\n */\n addLogHandler(handler: (entry: StructuredLogEntry) => void): () => void {\n this.logHandlers.push(handler);\n return () => {\n const index = this.logHandlers.indexOf(handler);\n if (index > -1) {\n this.logHandlers.splice(index, 1);\n }\n };\n }\n\n /**\n * 创建结构化日志条目\n */\n private createStructuredEntry(\n level: LogLevel,\n message: string,\n data?: unknown\n ): StructuredLogEntry {\n const traceId = getCurrentTraceId();\n const entry: StructuredLogEntry = {\n timestamp: new Date().toISOString(),\n level,\n message,\n context: {\n ...this.context,\n traceId: traceId || this.context.traceId,\n },\n source: this.prefix || 'framework',\n };\n\n if (data !== undefined) {\n entry.data = this.sanitizeValue(data);\n }\n\n // 如果是错误,提取堆栈信息\n if (data instanceof Error) {\n entry.stack = data.stack;\n entry.message = data.message || message;\n }\n\n return entry;\n }\n\n /**\n * 输出结构化日志\n */\n private outputStructured(entry: StructuredLogEntry): void {\n // 调用日志处理器\n this.logHandlers.forEach((handler) => {\n try {\n handler(entry);\n } catch (error) {\n // 忽略处理器错误,避免循环\n }\n });\n\n // 根据格式输出\n if (this.format === LogFormat.JSON) {\n console.log(JSON.stringify(entry));\n } else if (this.format === LogFormat.STRUCTURED) {\n console.log(entry);\n } else {\n // TEXT 格式使用原有输出方式\n const args = entry.data !== undefined ? [entry.data] : [];\n if (isBrowser()) {\n this.logBrowser(entry.level, entry.message, ...args);\n } else {\n this.logNode(entry.level, entry.message, ...args);\n }\n }\n }\n\n /**\n * 通用日志输出方法\n */\n private log(level: LogLevel, ...args: unknown[]): void {\n if (level < this.level) {\n return;\n }\n\n const processedArgs = this.processLogArgs(...args);\n \n // 如果处理后没有参数(被过滤),则不输出\n if (processedArgs.length === 0) {\n return;\n }\n\n // 提取消息和数据\n const message = typeof processedArgs[0] === 'string' \n ? processedArgs[0] \n : 'Log message';\n const data = processedArgs.length > 1 \n ? processedArgs.slice(1) \n : (typeof processedArgs[0] === 'string' ? undefined : processedArgs[0]);\n\n // 创建结构化日志条目\n const entry = this.createStructuredEntry(level, message, data);\n\n // 输出日志\n this.outputStructured(entry);\n }\n\n /**\n * 输出 DEBUG 级别日志\n */\n debug(...args: unknown[]): void {\n this.log(LogLevel.DEBUG, ...args);\n }\n\n /**\n * 输出 INFO 级别日志\n */\n info(...args: unknown[]): void {\n this.log(LogLevel.INFO, ...args);\n }\n\n /**\n * 输出 WARN 级别日志\n */\n warn(...args: unknown[]): void {\n this.log(LogLevel.WARN, ...args);\n }\n\n /**\n * 输出 ERROR 级别日志\n */\n error(...args: unknown[]): void {\n this.log(LogLevel.ERROR, ...args);\n }\n}\n\n/**\n * 创建 Logger 实例\n */\nexport const createLogger = (options?: LoggerOptions): Logger => {\n return new Logger(options);\n};\n\n/**\n * 默认 Logger 实例\n */\nexport const logger = createLogger();\n\n/**\n * 导出 Logger 类\n */\nexport { Logger };\n"],"names":["LogFormat","Logger","createLogger","logger","isBrowser","window","document","ANSI_COLORS","reset","bright","dim","red","green","yellow","blue","magenta","cyan","white","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","BROWSER_STYLES","debug","info","warn","error","LEVEL_COLORS","LogLevel","DEBUG","node","browser","INFO","WARN","ERROR","NONE","LEVEL_LABELS","setLevel","level","getLevel","formatTimestamp","now","Date","year","getFullYear","month","String","getMonth","padStart","day","getDate","hours","getHours","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","buildPrefix","logLevel","parts","showTimestamp","push","showLevel","traceId","getCurrentTraceId","substring","prefix","join","logNode","args","colorConfig","enableColors","console","log","logBrowser","sanitizeValue","value","enableSanitization","SecurityUtils","containsDangerousContent","sanitizeText","Array","isArray","map","item","sanitized","key","val","Object","entries","isSensitiveField","processLogArgs","isProduction","arg","setFormat","format","setContext","context","updateContext","getContext","clearContext","addLogHandler","handler","logHandlers","index","indexOf","splice","createStructuredEntry","message","data","entry","timestamp","toISOString","source","undefined","Error","stack","outputStructured","forEach","JSON","stringify","processedArgs","length","slice","options","process","env","NODE_ENV"],"mappings":";;;;;;;;;;;QAqFYA;eAAAA;;QA2aHC;eAAAA;;QAZIC;eAAAA;;QAOAC;eAAAA;;;6BA1fY;0BACK;yBACI;;;;;;;;;;;;;;AAElC;;CAEC,GACD,MAAMC,YAAY;IAChB,OAAO,OAAOC,WAAW,eAAe,OAAOA,OAAOC,QAAQ,KAAK;AACrE;AAEA;;CAEC,GACD,MAAMC,cAAc;IAClBC,OAAO;IACPC,QAAQ;IACRC,KAAK;IACLC,KAAK;IACLC,OAAO;IACPC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACTC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,SAAS;IACTC,UAAU;IACVC,QAAQ;IACRC,WAAW;IACXC,QAAQ;IACRC,SAAS;AACX;AAEA;;CAEC,GACD,MAAMC,iBAAiB;IACrBC,OAAO;IACPC,MAAM;IACNC,MAAM;IACNC,OAAO;AACT;AAEA;;CAEC,GACD,MAAMC,eAAoE;IACxE,CAACC,qBAAQ,CAACC,KAAK,CAAC,EAAE;QAChBC,MAAM1B,YAAYG,GAAG,GAAGH,YAAYU,KAAK;QACzCiB,SAAST,eAAeC,KAAK;IAC/B;IACA,CAACK,qBAAQ,CAACI,IAAI,CAAC,EAAE;QACfF,MAAM1B,YAAYS,IAAI;QACtBkB,SAAST,eAAeE,IAAI;IAC9B;IACA,CAACI,qBAAQ,CAACK,IAAI,CAAC,EAAE;QACfH,MAAM1B,YAAYM,MAAM;QACxBqB,SAAST,eAAeG,IAAI;IAC9B;IACA,CAACG,qBAAQ,CAACM,KAAK,CAAC,EAAE;QAChBJ,MAAM1B,YAAYI,GAAG,GAAGJ,YAAYE,MAAM;QAC1CyB,SAAST,eAAeI,KAAK;IAC/B;IACA,CAACE,qBAAQ,CAACO,IAAI,CAAC,EAAE;QACfL,MAAM;QACNC,SAAS;IACX;AACF;AAEA;;CAEC,GACD,MAAMK,eAAyC;IAC7C,CAACR,qBAAQ,CAACC,KAAK,CAAC,EAAE;IAClB,CAACD,qBAAQ,CAACI,IAAI,CAAC,EAAE;IACjB,CAACJ,qBAAQ,CAACK,IAAI,CAAC,EAAE;IACjB,CAACL,qBAAQ,CAACM,KAAK,CAAC,EAAE;IAClB,CAACN,qBAAQ,CAACO,IAAI,CAAC,EAAE;AACnB;AAKO,IAAA,AAAKtC,mCAAAA;IACV;;GAEC;IAED;;GAEC;IAED;;GAEC;WAXSA;;AA2EZ;;CAEC,GACD,IAAA,AAAMC,SAAN,MAAMA;IAwBJ;;GAEC,GACDuC,SAASC,KAAe,EAAQ;QAC9B,IAAI,CAACA,KAAK,GAAGA;IACf;IAEA;;GAEC,GACDC,WAAqB;QACnB,OAAO,IAAI,CAACD,KAAK;IACnB;IAEA;;GAEC,GACD,AAAQE,kBAA0B;QAChC,MAAMC,MAAM,IAAIC;QAChB,MAAMC,OAAOF,IAAIG,WAAW;QAC5B,MAAMC,QAAQC,OAAOL,IAAIM,QAAQ,KAAK,GAAGC,QAAQ,CAAC,GAAG;QACrD,MAAMC,MAAMH,OAAOL,IAAIS,OAAO,IAAIF,QAAQ,CAAC,GAAG;QAC9C,MAAMG,QAAQL,OAAOL,IAAIW,QAAQ,IAAIJ,QAAQ,CAAC,GAAG;QACjD,MAAMK,UAAUP,OAAOL,IAAIa,UAAU,IAAIN,QAAQ,CAAC,GAAG;QACrD,MAAMO,UAAUT,OAAOL,IAAIe,UAAU,IAAIR,QAAQ,CAAC,GAAG;QACrD,MAAMS,eAAeX,OAAOL,IAAIiB,eAAe,IAAIV,QAAQ,CAAC,GAAG;QAC/D,OAAO,GAAGL,KAAK,CAAC,EAAEE,MAAM,CAAC,EAAEI,IAAI,CAAC,EAAEE,MAAM,CAAC,EAAEE,QAAQ,CAAC,EAAEE,QAAQ,CAAC,EAAEE,cAAc;IACjF;IAEA;;GAEC,GACD,AAAQE,YAAYC,QAAkB,EAAU;QAC9C,MAAMC,QAAkB,EAAE;QAE1B,IAAI,IAAI,CAACC,aAAa,EAAE;YACtBD,MAAME,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAACvB,eAAe,GAAG,CAAC,CAAC;QAC1C;QAEA,IAAI,IAAI,CAACwB,SAAS,EAAE;YAClBH,MAAME,IAAI,CAAC,CAAC,CAAC,EAAE3B,YAAY,CAACwB,SAAS,CAAC,CAAC,CAAC;QAC1C;QAEA,gBAAgB;QAChB,MAAMK,UAAUC,IAAAA,0BAAiB;QACjC,IAAID,SAAS;YACXJ,MAAME,IAAI,CAAC,CAAC,OAAO,EAAEE,QAAQE,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;QACjD;QAEA,IAAI,IAAI,CAACC,MAAM,EAAE;YACfP,MAAME,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAACK,MAAM,CAAC,CAAC,CAAC;QAC/B;QAEA,OAAOP,MAAMQ,IAAI,CAAC;IACpB;IAEA;;GAEC,GACD,AAAQC,QAAQhC,KAAe,EAAE,GAAGiC,IAAe,EAAQ;QACzD,IAAIjC,QAAQ,IAAI,CAACA,KAAK,EAAE;YACtB;QACF;QAEA,MAAM8B,SAAS,IAAI,CAACT,WAAW,CAACrB;QAChC,MAAMkC,cAAc7C,YAAY,CAACW,MAAM;QACvC,MAAMjC,QAAQ,IAAI,CAACoE,YAAY,GAAGrE,YAAYC,KAAK,GAAG;QAEtD,IAAI,IAAI,CAACoE,YAAY,IAAID,YAAY1C,IAAI,EAAE;YACzC4C,QAAQC,GAAG,CAAC,GAAGH,YAAY1C,IAAI,GAAGsC,SAAS/D,OAAO,KAAKkE;QACzD,OAAO;YACLG,QAAQC,GAAG,CAACP,WAAWG;QACzB;IACF;IAEA;;GAEC,GACD,AAAQK,WAAWtC,KAAe,EAAE,GAAGiC,IAAe,EAAQ;QAC5D,IAAIjC,QAAQ,IAAI,CAACA,KAAK,EAAE;YACtB;QACF;QAEA,MAAM8B,SAAS,IAAI,CAACT,WAAW,CAACrB;QAChC,MAAMkC,cAAc7C,YAAY,CAACW,MAAM;QAEvC,IAAI,IAAI,CAACmC,YAAY,IAAID,YAAYzC,OAAO,EAAE;YAC5C2C,QAAQC,GAAG,CAAC,CAAC,EAAE,EAAEP,QAAQ,EAAEI,YAAYzC,OAAO,KAAKwC;QACrD,OAAO;YACLG,QAAQC,GAAG,CAACP,WAAWG;QACzB;IACF;IAEA;;GAEC,GACD,AAAQM,cAAcC,KAAc,EAAW;QAC7C,IAAI,CAAC,IAAI,CAACC,kBAAkB,EAAE;YAC5B,OAAOD;QACT;QAEA,IAAI,OAAOA,UAAU,UAAU;YAC7B,aAAa;YACb,IAAIE,uBAAa,CAACC,wBAAwB,CAACH,QAAQ;gBACjD,OAAOE,uBAAa,CAACE,YAAY,CAACJ;YACpC;YACA,OAAOA;QACT;QAEA,IAAIA,SAAS,OAAOA,UAAU,UAAU;YACtC,IAAIK,MAAMC,OAAO,CAACN,QAAQ;gBACxB,OAAOA,MAAMO,GAAG,CAAC,CAACC,OAAS,IAAI,CAACT,aAAa,CAACS;YAChD;YAEA,MAAMC,YAAqC,CAAC;YAC5C,KAAK,MAAM,CAACC,KAAKC,IAAI,IAAIC,OAAOC,OAAO,CAACb,OAAQ;gBAC9C,YAAY;gBACZ,IAAIE,uBAAa,CAACY,gBAAgB,CAACJ,MAAM;oBACvCD,SAAS,CAACC,IAAI,GAAG;gBACnB,OAAO;oBACLD,SAAS,CAACC,IAAI,GAAG,IAAI,CAACX,aAAa,CAACY;gBACtC;YACF;YACA,OAAOF;QACT;QAEA,OAAOT;IACT;IAEA;;GAEC,GACD,AAAQe,eAAe,GAAGtB,IAAe,EAAa;QACpD,oBAAoB;QACpB,IAAI,IAAI,CAACuB,YAAY,IAAI,IAAI,CAACxD,KAAK,KAAKV,qBAAQ,CAACC,KAAK,EAAE;YACtD,OAAO,EAAE;QACX;QAEA,OAAO0C,KAAKc,GAAG,CAAC,CAACU,MAAQ,IAAI,CAAClB,aAAa,CAACkB;IAC9C;IAEA;;GAEC,GACDC,UAAUC,MAAiB,EAAQ;QACjC,IAAI,CAACA,MAAM,GAAGA;IAChB;IAEA;;GAEC,GACDC,WAAWC,OAAmB,EAAQ;QACpC,IAAI,CAACA,OAAO,GAAG;YAAE,GAAG,IAAI,CAACA,OAAO;YAAE,GAAGA,OAAO;QAAC;IAC/C;IAEA;;GAEC,GACDC,cAAcD,OAA4B,EAAQ;QAChD,IAAI,CAACA,OAAO,GAAG;YAAE,GAAG,IAAI,CAACA,OAAO;YAAE,GAAGA,OAAO;QAAC;IAC/C;IAEA;;GAEC,GACDE,aAAyB;QACvB,OAAO;YAAE,GAAG,IAAI,CAACF,OAAO;QAAC;IAC3B;IAEA;;GAEC,GACDG,eAAqB;QACnB,IAAI,CAACH,OAAO,GAAG,CAAC;IAClB;IAEA;;GAEC,GACDI,cAAcC,OAA4C,EAAc;QACtE,IAAI,CAACC,WAAW,CAAC1C,IAAI,CAACyC;QACtB,OAAO;YACL,MAAME,QAAQ,IAAI,CAACD,WAAW,CAACE,OAAO,CAACH;YACvC,IAAIE,QAAQ,CAAC,GAAG;gBACd,IAAI,CAACD,WAAW,CAACG,MAAM,CAACF,OAAO;YACjC;QACF;IACF;IAEA;;GAEC,GACD,AAAQG,sBACNvE,KAAe,EACfwE,OAAe,EACfC,IAAc,EACM;QACpB,MAAM9C,UAAUC,IAAAA,0BAAiB;QACjC,MAAM8C,QAA4B;YAChCC,WAAW,IAAIvE,OAAOwE,WAAW;YACjC5E;YACAwE;YACAX,SAAS;gBACP,GAAG,IAAI,CAACA,OAAO;gBACflC,SAASA,WAAW,IAAI,CAACkC,OAAO,CAAClC,OAAO;YAC1C;YACAkD,QAAQ,IAAI,CAAC/C,MAAM,IAAI;QACzB;QAEA,IAAI2C,SAASK,WAAW;YACtBJ,MAAMD,IAAI,GAAG,IAAI,CAAClC,aAAa,CAACkC;QAClC;QAEA,eAAe;QACf,IAAIA,gBAAgBM,OAAO;YACzBL,MAAMM,KAAK,GAAGP,KAAKO,KAAK;YACxBN,MAAMF,OAAO,GAAGC,KAAKD,OAAO,IAAIA;QAClC;QAEA,OAAOE;IACT;IAEA;;GAEC,GACD,AAAQO,iBAAiBP,KAAyB,EAAQ;QACxD,UAAU;QACV,IAAI,CAACP,WAAW,CAACe,OAAO,CAAC,CAAChB;YACxB,IAAI;gBACFA,QAAQQ;YACV,EAAE,OAAOtF,OAAO;YACd,eAAe;YACjB;QACF;QAEA,SAAS;QACT,IAAI,IAAI,CAACuE,MAAM,aAAqB;YAClCvB,QAAQC,GAAG,CAAC8C,KAAKC,SAAS,CAACV;QAC7B,OAAO,IAAI,IAAI,CAACf,MAAM,mBAA2B;YAC/CvB,QAAQC,GAAG,CAACqC;QACd,OAAO;YACL,kBAAkB;YAClB,MAAMzC,OAAOyC,MAAMD,IAAI,KAAKK,YAAY;gBAACJ,MAAMD,IAAI;aAAC,GAAG,EAAE;YACzD,IAAI9G,aAAa;gBACf,IAAI,CAAC2E,UAAU,CAACoC,MAAM1E,KAAK,EAAE0E,MAAMF,OAAO,KAAKvC;YACjD,OAAO;gBACL,IAAI,CAACD,OAAO,CAAC0C,MAAM1E,KAAK,EAAE0E,MAAMF,OAAO,KAAKvC;YAC9C;QACF;IACF;IAEA;;GAEC,GACD,AAAQI,IAAIrC,KAAe,EAAE,GAAGiC,IAAe,EAAQ;QACrD,IAAIjC,QAAQ,IAAI,CAACA,KAAK,EAAE;YACtB;QACF;QAEA,MAAMqF,gBAAgB,IAAI,CAAC9B,cAAc,IAAItB;QAE7C,sBAAsB;QACtB,IAAIoD,cAAcC,MAAM,KAAK,GAAG;YAC9B;QACF;QAEA,UAAU;QACV,MAAMd,UAAU,OAAOa,aAAa,CAAC,EAAE,KAAK,WACxCA,aAAa,CAAC,EAAE,GAChB;QACJ,MAAMZ,OAAOY,cAAcC,MAAM,GAAG,IAChCD,cAAcE,KAAK,CAAC,KACnB,OAAOF,aAAa,CAAC,EAAE,KAAK,WAAWP,YAAYO,aAAa,CAAC,EAAE;QAExE,YAAY;QACZ,MAAMX,QAAQ,IAAI,CAACH,qBAAqB,CAACvE,OAAOwE,SAASC;QAEzD,OAAO;QACP,IAAI,CAACQ,gBAAgB,CAACP;IACxB;IAEA;;GAEC,GACDzF,MAAM,GAAGgD,IAAe,EAAQ;QAC9B,IAAI,CAACI,GAAG,CAAC/C,qBAAQ,CAACC,KAAK,KAAK0C;IAC9B;IAEA;;GAEC,GACD/C,KAAK,GAAG+C,IAAe,EAAQ;QAC7B,IAAI,CAACI,GAAG,CAAC/C,qBAAQ,CAACI,IAAI,KAAKuC;IAC7B;IAEA;;GAEC,GACD9C,KAAK,GAAG8C,IAAe,EAAQ;QAC7B,IAAI,CAACI,GAAG,CAAC/C,qBAAQ,CAACK,IAAI,KAAKsC;IAC7B;IAEA;;GAEC,GACD7C,MAAM,GAAG6C,IAAe,EAAQ;QAC9B,IAAI,CAACI,GAAG,CAAC/C,qBAAQ,CAACM,KAAK,KAAKqC;IAC9B;IA/TA,YAAYuD,UAAyB,CAAC,CAAC,CAAE;QAXzC,uBAAQxF,SAAR,KAAA;QACA,uBAAQmC,gBAAR,KAAA;QACA,uBAAQX,iBAAR,KAAA;QACA,uBAAQE,aAAR,KAAA;QACA,uBAAQI,UAAR,KAAA;QACA,uBAAQW,sBAAR,KAAA;QACA,uBAAQe,gBAAR,KAAA;QACA,uBAAQG,UAAR,KAAA;QACA,uBAAQE,WAAsB,CAAC;QAC/B,uBAAQM,eAA0D,EAAE;QAGlE,IAAI,CAACnE,KAAK,GAAGwF,QAAQxF,KAAK,IAAIV,qBAAQ,CAACI,IAAI;QAC3C,IAAI,CAACyC,YAAY,GAAGqD,QAAQrD,YAAY,IAAI;QAC5C,IAAI,CAACX,aAAa,GAAGgE,QAAQhE,aAAa,IAAI;QAC9C,IAAI,CAACE,SAAS,GAAG8D,QAAQ9D,SAAS,IAAI;QACtC,IAAI,CAACI,MAAM,GAAG0D,QAAQ1D,MAAM,IAAI;QAChC,IAAI,CAACW,kBAAkB,GAAG+C,QAAQ/C,kBAAkB,IAAI;QACxD,IAAI,CAACe,YAAY,GAAG,OAAOiC,YAAY,eAAeA,QAAQC,GAAG,CAACC,QAAQ,KAAK;QAC/E,IAAI,CAAChC,MAAM,GAAG,AAAC6B,QAAgB7B,MAAM;QACrC,IAAI,CAACE,OAAO,GAAG,AAAC2B,QAAgB3B,OAAO,IAAI,CAAC;IAC9C;AAsTF;AAKO,MAAMpG,eAAe,CAAC+H;IAC3B,OAAO,IAAIhI,OAAOgI;AACpB;AAKO,MAAM9H,SAASD"}
1
+ {"version":3,"sources":["../../src/utils/logger.ts"],"sourcesContent":["export { logger, createLogger, Logger, LogFormat } from '@vlian/logger';\nexport type { LogContext, StructuredLogEntry } from '@vlian/logger';\n"],"names":["LogFormat","Logger","createLogger","logger"],"mappings":";;;;;;;;;;;QAAuCA;eAAAA,iBAAS;;QAAjBC;eAAAA,cAAM;;QAApBC;eAAAA,oBAAY;;QAApBC;eAAAA,cAAM;;;wBAAyC"}
@@ -1,189 +1,2 @@
1
- import type { LoggerOptions } from './logger.types';
2
- import { LogLevel } from './logger.types';
3
- /**
4
- * 日志格式类型
5
- */
6
- export declare enum LogFormat {
7
- /**
8
- * 文本格式(默认)
9
- */
10
- TEXT = "text",
11
- /**
12
- * JSON 格式(用于日志聚合)
13
- */
14
- JSON = "json",
15
- /**
16
- * 结构化格式(用于分析)
17
- */
18
- STRUCTURED = "structured"
19
- }
20
- /**
21
- * 日志上下文
22
- */
23
- export interface LogContext {
24
- /**
25
- * 追踪 ID
26
- */
27
- traceId?: string;
28
- /**
29
- * 用户 ID
30
- */
31
- userId?: string;
32
- /**
33
- * 会话 ID
34
- */
35
- sessionId?: string;
36
- /**
37
- * 请求 ID
38
- */
39
- requestId?: string;
40
- /**
41
- * 自定义上下文
42
- */
43
- [key: string]: unknown;
44
- }
45
- /**
46
- * 结构化日志条目
47
- */
48
- export interface StructuredLogEntry {
49
- /**
50
- * 时间戳
51
- */
52
- timestamp: string;
53
- /**
54
- * 日志级别
55
- */
56
- level: LogLevel;
57
- /**
58
- * 日志消息
59
- */
60
- message: string;
61
- /**
62
- * 日志数据
63
- */
64
- data?: unknown;
65
- /**
66
- * 日志上下文
67
- */
68
- context?: LogContext;
69
- /**
70
- * 日志来源
71
- */
72
- source?: string;
73
- /**
74
- * 错误堆栈(如果是错误日志)
75
- */
76
- stack?: string;
77
- }
78
- /**
79
- * Logger 类
80
- */
81
- declare class Logger {
82
- private level;
83
- private enableColors;
84
- private showTimestamp;
85
- private showLevel;
86
- private prefix;
87
- private enableSanitization;
88
- private isProduction;
89
- private format;
90
- private context;
91
- private logHandlers;
92
- constructor(options?: LoggerOptions);
93
- /**
94
- * 设置日志级别
95
- */
96
- setLevel(level: LogLevel): void;
97
- /**
98
- * 获取当前日志级别
99
- */
100
- getLevel(): LogLevel;
101
- /**
102
- * 格式化时间戳
103
- */
104
- private formatTimestamp;
105
- /**
106
- * 构建日志前缀
107
- */
108
- private buildPrefix;
109
- /**
110
- * 输出日志(Node.js 环境)
111
- */
112
- private logNode;
113
- /**
114
- * 输出日志(浏览器环境)
115
- */
116
- private logBrowser;
117
- /**
118
- * 脱敏处理
119
- */
120
- private sanitizeValue;
121
- /**
122
- * 处理日志参数(脱敏、过滤等)
123
- */
124
- private processLogArgs;
125
- /**
126
- * 设置日志格式
127
- */
128
- setFormat(format: LogFormat): void;
129
- /**
130
- * 设置日志上下文
131
- */
132
- setContext(context: LogContext): void;
133
- /**
134
- * 更新日志上下文
135
- */
136
- updateContext(context: Partial<LogContext>): void;
137
- /**
138
- * 获取日志上下文
139
- */
140
- getContext(): LogContext;
141
- /**
142
- * 清除日志上下文
143
- */
144
- clearContext(): void;
145
- /**
146
- * 注册日志处理器(用于日志聚合)
147
- */
148
- addLogHandler(handler: (entry: StructuredLogEntry) => void): () => void;
149
- /**
150
- * 创建结构化日志条目
151
- */
152
- private createStructuredEntry;
153
- /**
154
- * 输出结构化日志
155
- */
156
- private outputStructured;
157
- /**
158
- * 通用日志输出方法
159
- */
160
- private log;
161
- /**
162
- * 输出 DEBUG 级别日志
163
- */
164
- debug(...args: unknown[]): void;
165
- /**
166
- * 输出 INFO 级别日志
167
- */
168
- info(...args: unknown[]): void;
169
- /**
170
- * 输出 WARN 级别日志
171
- */
172
- warn(...args: unknown[]): void;
173
- /**
174
- * 输出 ERROR 级别日志
175
- */
176
- error(...args: unknown[]): void;
177
- }
178
- /**
179
- * 创建 Logger 实例
180
- */
181
- export declare const createLogger: (options?: LoggerOptions) => Logger;
182
- /**
183
- * 默认 Logger 实例
184
- */
185
- export declare const logger: Logger;
186
- /**
187
- * 导出 Logger 类
188
- */
189
- export { Logger };
1
+ export { logger, createLogger, Logger, LogFormat } from '@vlian/logger';
2
+ export type { LogContext, StructuredLogEntry } from '@vlian/logger';