@rife/logger 0.0.6-beta.11 → 0.0.6-beta.13

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 (39) hide show
  1. package/dist/cjs/common.cjs +3 -3
  2. package/dist/cjs/env.cjs +3 -3
  3. package/dist/cjs/index.cjs +7 -9
  4. package/dist/cjs/pino/index.cjs +25 -8
  5. package/dist/cjs/pino/rotate.cjs +6 -6
  6. package/dist/cjs/pino/worker/pino-file.cjs +221 -128
  7. package/dist/cjs/pino/worker/pino-pretty.cjs +327 -420
  8. package/dist/cjs/pino/worker/pino-rotate.cjs +21 -20
  9. package/dist/cjs/pino/worker/pino-worker.cjs +296 -203
  10. package/dist/cjs/pino/worker/thread-stream.cjs +39 -37
  11. package/dist/cjs/pino/worker.cjs +116 -0
  12. package/dist/cjs/test.cjs +6 -2
  13. package/dist/cjs/trace.cjs +3 -3
  14. package/dist/cjs/worker/index.cjs +5 -0
  15. package/dist/esm/common.mjs +3 -4
  16. package/dist/esm/env.mjs +1 -2
  17. package/dist/esm/index.mjs +1 -2
  18. package/dist/esm/pino/index.mjs +29 -25
  19. package/dist/esm/pino/rotate.mjs +8 -18
  20. package/dist/esm/pino/worker/pino-file.cjs +221 -128
  21. package/dist/esm/pino/worker/pino-pretty.cjs +327 -420
  22. package/dist/esm/pino/worker/pino-rotate.cjs +21 -20
  23. package/dist/esm/pino/worker/pino-worker.cjs +296 -203
  24. package/dist/esm/pino/worker/thread-stream.cjs +39 -37
  25. package/dist/esm/pino/worker.mjs +74 -0
  26. package/dist/esm/rslib-runtime.mjs +19 -0
  27. package/dist/esm/test.mjs +8 -5
  28. package/dist/esm/trace.mjs +1 -2
  29. package/dist/esm/worker/index.mjs +1 -0
  30. package/dist/worker/pino-file.cjs +221 -128
  31. package/dist/worker/pino-pretty.cjs +327 -420
  32. package/dist/worker/pino-rotate.cjs +21 -20
  33. package/dist/worker/pino-worker.cjs +296 -203
  34. package/dist/worker/thread-stream.cjs +39 -37
  35. package/package.json +16 -8
  36. package/src/pino/index.ts +30 -3
  37. package/src/pino/worker.ts +82 -0
  38. package/src/test.ts +5 -2
  39. package/src/worker/index.ts +3 -0
@@ -1,5 +1,6 @@
1
+ "use strict";
1
2
  var __webpack_modules__ = {
2
- "../../node_modules/.pnpm/real-require@0.2.0/node_modules/real-require/src/index.js": function(module1) {
3
+ "../../node_modules/.pnpm/real-require@0.2.0/node_modules/real-require/src/index.js" (module1) {
3
4
  const realImport = new Function('modulePath', 'return import(modulePath)');
4
5
  function realRequire(modulePath) {
5
6
  if ('function' == typeof __non_webpack__require__) return __non_webpack__require__(modulePath);
@@ -10,7 +11,7 @@ var __webpack_modules__ = {
10
11
  realRequire
11
12
  };
12
13
  },
13
- "../../node_modules/.pnpm/thread-stream@3.1.0/node_modules/thread-stream/lib/indexes.js": function(module1) {
14
+ "../../node_modules/.pnpm/thread-stream@4.0.0/node_modules/thread-stream/lib/indexes.js" (module1) {
14
15
  "use strict";
15
16
  const WRITE_INDEX = 4;
16
17
  const READ_INDEX = 8;
@@ -19,45 +20,41 @@ var __webpack_modules__ = {
19
20
  READ_INDEX
20
21
  };
21
22
  },
22
- "../../node_modules/.pnpm/thread-stream@3.1.0/node_modules/thread-stream/lib/wait.js": function(module1) {
23
+ "../../node_modules/.pnpm/thread-stream@4.0.0/node_modules/thread-stream/lib/wait.js" (module1) {
23
24
  "use strict";
24
- const MAX_TIMEOUT = 1000;
25
+ const WAIT_MS = 10000;
25
26
  function wait(state, index, expected, timeout, done) {
26
- const max = Date.now() + timeout;
27
- let current = Atomics.load(state, index);
28
- if (current === expected) return void done(null, 'ok');
29
- let prior = current;
30
- const check = (backoff)=>{
31
- if (Date.now() > max) done(null, 'timed-out');
32
- else setTimeout(()=>{
33
- prior = current;
34
- current = Atomics.load(state, index);
35
- if (current === prior) check(backoff >= MAX_TIMEOUT ? MAX_TIMEOUT : 2 * backoff);
36
- else current === expected ? done(null, 'ok') : done(null, 'not-equal');
37
- }, backoff);
27
+ const max = timeout === 1 / 0 ? 1 / 0 : Date.now() + timeout;
28
+ const check = ()=>{
29
+ const current = Atomics.load(state, index);
30
+ if (current === expected) return void done(null, 'ok');
31
+ if (max !== 1 / 0 && Date.now() > max) return void done(null, 'timed-out');
32
+ const remaining = max === 1 / 0 ? WAIT_MS : Math.min(WAIT_MS, Math.max(1, max - Date.now()));
33
+ const result = Atomics.waitAsync(state, index, current, remaining);
34
+ if (result.async) result.value.then(check);
35
+ else setImmediate(check);
38
36
  };
39
- check(1);
37
+ check();
40
38
  }
41
39
  function waitDiff(state, index, expected, timeout, done) {
42
- const max = Date.now() + timeout;
43
- let current = Atomics.load(state, index);
44
- if (current !== expected) return void done(null, 'ok');
45
- const check = (backoff)=>{
46
- if (Date.now() > max) done(null, 'timed-out');
47
- else setTimeout(()=>{
48
- current = Atomics.load(state, index);
49
- if (current !== expected) done(null, 'ok');
50
- else check(backoff >= MAX_TIMEOUT ? MAX_TIMEOUT : 2 * backoff);
51
- }, backoff);
40
+ const max = timeout === 1 / 0 ? 1 / 0 : Date.now() + timeout;
41
+ const check = ()=>{
42
+ const current = Atomics.load(state, index);
43
+ if (current !== expected) return void done(null, 'ok');
44
+ if (max !== 1 / 0 && Date.now() > max) return void done(null, 'timed-out');
45
+ const remaining = max === 1 / 0 ? WAIT_MS : Math.min(WAIT_MS, Math.max(1, max - Date.now()));
46
+ const result = Atomics.waitAsync(state, index, expected, remaining);
47
+ if (result.async) result.value.then(check);
48
+ else setImmediate(check);
52
49
  };
53
- check(1);
50
+ check();
54
51
  }
55
52
  module1.exports = {
56
53
  wait,
57
54
  waitDiff
58
55
  };
59
56
  },
60
- worker_threads: function(module1) {
57
+ worker_threads (module1) {
61
58
  "use strict";
62
59
  module1.exports = require("worker_threads");
63
60
  }
@@ -77,21 +74,17 @@ var __webpack_exports__ = {};
77
74
  "use strict";
78
75
  const { realImport, realRequire } = __webpack_require__("../../node_modules/.pnpm/real-require@0.2.0/node_modules/real-require/src/index.js");
79
76
  const { workerData, parentPort } = __webpack_require__("worker_threads");
80
- const { WRITE_INDEX, READ_INDEX } = __webpack_require__("../../node_modules/.pnpm/thread-stream@3.1.0/node_modules/thread-stream/lib/indexes.js");
81
- const { waitDiff } = __webpack_require__("../../node_modules/.pnpm/thread-stream@3.1.0/node_modules/thread-stream/lib/wait.js");
77
+ const { WRITE_INDEX, READ_INDEX } = __webpack_require__("../../node_modules/.pnpm/thread-stream@4.0.0/node_modules/thread-stream/lib/indexes.js");
78
+ const { waitDiff } = __webpack_require__("../../node_modules/.pnpm/thread-stream@4.0.0/node_modules/thread-stream/lib/wait.js");
82
79
  const { dataBuf, filename, stateBuf } = workerData;
83
80
  let destination;
84
81
  const state = new Int32Array(stateBuf);
85
82
  const data = Buffer.from(dataBuf);
83
+ const keepAlive = setInterval(()=>{}, 3600000);
86
84
  async function start() {
87
85
  let worker;
88
86
  try {
89
- if (filename.endsWith('.ts') || filename.endsWith('.cts')) {
90
- if (process[Symbol.for('ts-node.register.instance')]) {
91
- if (process.env.TS_NODE_DEV) realRequire('ts-node-dev');
92
- } else realRequire('ts-node/register');
93
- worker = realRequire(decodeURIComponent(filename.replace('win32' === process.platform ? 'file:///' : 'file://', '')));
94
- } else worker = await realImport(filename);
87
+ worker = await realImport(filename);
95
88
  } catch (error) {
96
89
  if (('ENOTDIR' === error.code || 'ERR_MODULE_NOT_FOUND' === error.code) && filename.startsWith('file://')) worker = realRequire(decodeURIComponent(filename.replace('file://', '')));
97
90
  else if (void 0 === error.code || 'ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING' === error.code) try {
@@ -99,6 +92,14 @@ var __webpack_exports__ = {};
99
92
  } catch {
100
93
  throw error;
101
94
  }
95
+ else if (filename.endsWith('.ts') || filename.endsWith('.cts')) try {
96
+ if (process[Symbol.for('ts-node.register.instance')]) {
97
+ if (process.env.TS_NODE_DEV) realRequire('ts-node-dev');
98
+ } else realRequire('ts-node/register');
99
+ worker = realRequire(decodeURIComponent(filename.replace('win32' === process.platform ? 'file:///' : 'file://', '')));
100
+ } catch {
101
+ throw error;
102
+ }
102
103
  else throw error;
103
104
  }
104
105
  if ('object' == typeof worker) worker = worker.default;
@@ -118,6 +119,7 @@ var __webpack_exports__ = {};
118
119
  const end = Atomics.load(state, WRITE_INDEX);
119
120
  Atomics.store(state, READ_INDEX, end);
120
121
  Atomics.notify(state, READ_INDEX);
122
+ clearInterval(keepAlive);
121
123
  setImmediate(()=>{
122
124
  process.exit(0);
123
125
  });
@@ -0,0 +1,74 @@
1
+ import "node:module";
2
+ import pino from "pino";
3
+ import path from "path";
4
+ import { getTraceId } from "../trace.mjs";
5
+ import { fileURLToPath as __rspack_fileURLToPath } from "node:url";
6
+ var worker_filename = __rspack_fileURLToPath(import.meta.url);
7
+ function getPinoConfig() {
8
+ const targets = [];
9
+ if ('production' === process.env.NODE_ENV) ;
10
+ else {
11
+ const rotate = `./rotate${path.extname(worker_filename)}`;
12
+ targets.push({
13
+ level: 'debug',
14
+ target: rotate,
15
+ options: {
16
+ path: './logs/'
17
+ }
18
+ });
19
+ targets.push({
20
+ level: 'debug',
21
+ target: 'pino-pretty',
22
+ options: {
23
+ ignore: 'pid',
24
+ messageKey: 'message'
25
+ }
26
+ });
27
+ }
28
+ const config = {
29
+ transport: {
30
+ targets
31
+ },
32
+ mixin (data) {
33
+ const traceId = data?.traceId;
34
+ delete data.traceId;
35
+ delete data.level;
36
+ delete data.time;
37
+ delete data.pid;
38
+ delete data.name;
39
+ delete data.hostname;
40
+ if (!traceId) return {
41
+ traceId: getTraceId()
42
+ };
43
+ return {
44
+ traceId
45
+ };
46
+ },
47
+ browser: {
48
+ write: (o)=>{
49
+ const { name, time, level, ...rest } = o;
50
+ if (name) rest.message = rest.message ? `[${name}] ${rest.message}` : `[${name}]`;
51
+ if (!rest.traceId) rest.traceId = getTraceId();
52
+ if (level >= 50) console.error(rest);
53
+ else if (level >= 40) console.warn(rest);
54
+ else console.log(rest);
55
+ }
56
+ }
57
+ };
58
+ return config;
59
+ }
60
+ function createLogger() {
61
+ const logger = pino({
62
+ base: {
63
+ pid: process.pid
64
+ },
65
+ messageKey: 'message',
66
+ errorKey: 'error',
67
+ timestamp: pino.stdTimeFunctions.epochTime,
68
+ ...getPinoConfig()
69
+ });
70
+ return {
71
+ logger
72
+ };
73
+ }
74
+ export { createLogger };
@@ -0,0 +1,19 @@
1
+ import "node:module";
2
+ var __webpack_modules__ = {};
3
+ var __webpack_module_cache__ = {};
4
+ function __webpack_require__(moduleId) {
5
+ var cachedModule = __webpack_module_cache__[moduleId];
6
+ if (void 0 !== cachedModule) return cachedModule.exports;
7
+ var module = __webpack_module_cache__[moduleId] = {
8
+ exports: {}
9
+ };
10
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
11
+ return module.exports;
12
+ }
13
+ __webpack_require__.m = __webpack_modules__;
14
+ (()=>{
15
+ __webpack_require__.add = function(modules) {
16
+ Object.assign(__webpack_require__.m, modules);
17
+ };
18
+ })();
19
+ export { __webpack_require__ };
package/dist/esm/test.mjs CHANGED
@@ -1,9 +1,8 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { createLogger } from "./pino/index.mjs";
4
- import { genTraceId } from "./trace.mjs";
3
+ import { genTraceId, runInTrace } from "./trace.mjs";
5
4
  process.env.NODE_ENV = 'development';
6
- const { logger } = createLogger();
5
+ const { logger: logger } = createLogger();
7
6
  logger.info({
8
7
  a: 999
9
8
  }, '1');
@@ -29,4 +28,8 @@ log.info({
29
28
  c: 1,
30
29
  name: '========'
31
30
  }, 'name overide');
32
- log.info(1);
31
+ runInTrace({
32
+ traceId: genTraceId()
33
+ }, ()=>{
34
+ log.info(1);
35
+ });
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { AsyncLocalStorage } from "async_hooks";
4
3
  const als = new AsyncLocalStorage();
5
4
  function runInTrace(data, fn) {
@@ -0,0 +1 @@
1
+ import "node:module";