vona-module-a-logger 5.0.10 → 5.0.12

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.
@@ -1,24 +1,7 @@
1
- import type { BeanScopeUtil } from 'vona';
2
- import type { IDecoratorBroadcastOptions } from 'vona-module-a-broadcast';
3
- import type { IAopMethodOptionsLog } from '../bean/aopMethod.log.ts';
4
- /** bean: end */
5
- /** bean: begin */
6
- import type { BeanLogger } from '../bean/bean.logger.ts';
7
- /** broadcast: end */
8
- /** broadcast: begin */
9
- import type { BroadcastSetLevel } from '../bean/broadcast.setLevel.ts';
10
- /** middlewareSystem: end */
11
- /** aopMethod: begin */
1
+ /** middlewareSystem: begin */
2
+ export * from '../bean/middlewareSystem.httpLog.ts';
12
3
  import type { IMiddlewareSystemOptionsHttpLog } from '../bean/middlewareSystem.httpLog.ts';
13
- /** broadcast: end */
14
- /** scope: begin */
15
- import { BeanScopeBase } from 'vona';
16
- import 'vona';
17
- import 'vona';
18
4
  import 'vona';
19
- import 'vona';
20
- import 'vona';
21
- export * from '../bean/aopMethod.log.ts';
22
5
  declare module 'vona-module-a-aspect' {
23
6
  interface IMiddlewareSystemRecord {
24
7
  'a-logger:httpLog': IMiddlewareSystemOptionsHttpLog;
@@ -28,9 +11,11 @@ declare module 'vona-module-a-logger' {
28
11
  interface MiddlewareSystemHttpLog {
29
12
  }
30
13
  }
31
- /** aopMethod: end */
32
- /** bean: begin */
33
- export * from '../bean/bean.logger.ts';
14
+ /** middlewareSystem: end */
15
+ /** aopMethod: begin */
16
+ export * from '../bean/aopMethod.log.ts';
17
+ import type { IAopMethodOptionsLog } from '../bean/aopMethod.log.ts';
18
+ import 'vona';
34
19
  declare module 'vona-module-a-aspect' {
35
20
  interface IAopMethodRecord {
36
21
  'a-logger:log': IAopMethodOptionsLog;
@@ -40,22 +25,29 @@ declare module 'vona-module-a-logger' {
40
25
  interface AopMethodLog {
41
26
  }
42
27
  }
43
- /** bean: end */
44
- /** broadcast: begin */
45
- export * from '../bean/broadcast.setLevel.ts';
28
+ /** aopMethod: end */
29
+ /** bean: begin */
30
+ export * from '../bean/bean.logger.ts';
31
+ import 'vona';
46
32
  declare module 'vona' {
47
33
  }
48
34
  declare module 'vona-module-a-logger' {
49
35
  interface BeanLogger {
50
36
  }
51
37
  }
38
+ /** bean: end */
39
+ /** bean: begin */
40
+ import type { BeanLogger } from '../bean/bean.logger.ts';
41
+ import 'vona';
52
42
  declare module 'vona' {
53
43
  interface IBeanRecordGlobal {
54
- logger: BeanLogger;
44
+ 'logger': BeanLogger;
55
45
  }
56
46
  }
57
- /** middlewareSystem: begin */
58
- export * from '../bean/middlewareSystem.httpLog.ts';
47
+ /** bean: end */
48
+ /** broadcast: begin */
49
+ export * from '../bean/broadcast.setLevel.ts';
50
+ import { type IDecoratorBroadcastOptions } from 'vona-module-a-broadcast';
59
51
  declare module 'vona-module-a-broadcast' {
60
52
  interface IBroadcastRecord {
61
53
  'a-logger:setLevel': IDecoratorBroadcastOptions;
@@ -65,15 +57,22 @@ declare module 'vona-module-a-logger' {
65
57
  interface BroadcastSetLevel {
66
58
  }
67
59
  }
60
+ /** broadcast: end */
61
+ /** broadcast: begin */
62
+ import type { BroadcastSetLevel } from '../bean/broadcast.setLevel.ts';
68
63
  export interface IModuleBroadcast {
69
- setLevel: BroadcastSetLevel;
64
+ 'setLevel': BroadcastSetLevel;
70
65
  }
66
+ /** broadcast: end */
67
+ /** scope: begin */
68
+ import { BeanScopeBase, type BeanScopeUtil } from 'vona';
71
69
  export declare class ScopeModuleALogger extends BeanScopeBase {
72
70
  }
73
71
  export interface ScopeModuleALogger {
74
72
  util: BeanScopeUtil;
75
73
  broadcast: IModuleBroadcast;
76
74
  }
75
+ import 'vona';
77
76
  declare module 'vona' {
78
77
  interface IBeanScopeRecord {
79
78
  'a-logger': ScopeModuleALogger;
package/dist/index.js CHANGED
@@ -1,3 +1,166 @@
1
- export * from "./.metadata/index.js";
2
- export * from "./lib/index.js";
3
- export * from "./types/index.js";
1
+ import { BeanInfo, BeanBase, BeanAopMethodBase, SymbolBeanFullName, BeanScopeBase } from 'vona';
2
+ import StdSerializers from 'pino-std-serializers';
3
+ import { MiddlewareSystem, AopMethod, Aspect } from 'vona-module-a-aspect';
4
+ import { evaluateExpressions } from '@cabloy/utils';
5
+ import { Bean, Scope } from 'vona-module-a-bean';
6
+ import { Broadcast, BeanBroadcastBase } from 'vona-module-a-broadcast';
7
+
8
+ var _dec$4, _dec2$4, _class$4;
9
+ let MiddlewareSystemHttpLog = (_dec$4 = MiddlewareSystem(), _dec2$4 = BeanInfo({
10
+ module: "a-logger"
11
+ }), _dec$4(_class$4 = _dec2$4(_class$4 = class MiddlewareSystemHttpLog extends BeanBase {
12
+ async execute(_options, next) {
13
+ const ctx = this.ctx;
14
+ // start
15
+ const req = StdSerializers.req(ctx.req);
16
+ this.$loggerChild('req').http(JSON.stringify(req));
17
+ const profiler = this.$loggerChild('res').startTimer();
18
+ // next
19
+ await next();
20
+ // end
21
+ const res = {
22
+ url: ctx.req.url,
23
+ statusCode: ctx.res.statusCode,
24
+ headers: ctx.res.getHeaders()
25
+ };
26
+ profiler.done({
27
+ level: 'http',
28
+ message: JSON.stringify(res)
29
+ });
30
+ }
31
+ }) || _class$4) || _class$4);
32
+
33
+ var _dec$3, _dec2$3, _class$3;
34
+ let AopMethodLog = (_dec$3 = AopMethod({
35
+ level: 'info'
36
+ }), _dec2$3 = BeanInfo({
37
+ module: "a-logger"
38
+ }), _dec$3(_class$3 = _dec2$3(_class$3 = class AopMethodLog extends BeanAopMethodBase {
39
+ get(options, next, receiver, prop) {
40
+ const context = this._getContext(options, receiver);
41
+ const message = `${receiver[SymbolBeanFullName]}#${prop}(get)`;
42
+ const logger = this.app.meta.logger.child(options.childName, options.clientName);
43
+ // begin
44
+ !options.auto && logger.log(options.level, message, context ? {
45
+ context
46
+ } : undefined);
47
+ const profiler = logger.startTimer();
48
+ // next
49
+ try {
50
+ const res = next();
51
+ this._logResult(profiler, context, res, options, message);
52
+ return res;
53
+ } catch (err) {
54
+ this._logError(profiler, context, err, options, message);
55
+ throw err;
56
+ }
57
+ }
58
+ set(options, value, next, receiver, prop) {
59
+ const context = this._getContext(options, receiver);
60
+ const message = `${receiver[SymbolBeanFullName]}#${prop}(set)`;
61
+ const logger = this.app.meta.logger.child(options.childName, options.clientName);
62
+ // begin
63
+ logger.log(options.level, `${message} value: ${JSON.stringify(value)}`, context ? {
64
+ context
65
+ } : undefined);
66
+ const profiler = logger.startTimer();
67
+ // next
68
+ try {
69
+ const res = next();
70
+ !options.auto && this._logResult(profiler, context, undefined, options, message);
71
+ return res;
72
+ } catch (err) {
73
+ this._logError(profiler, context, err, options, message);
74
+ throw err;
75
+ }
76
+ }
77
+ execute(options, _args, next, receiver, prop) {
78
+ const context = this._getContext(options, receiver);
79
+ const message = `${receiver[SymbolBeanFullName]}#${prop}`;
80
+ const logger = this.app.meta.logger.child(options.childName, options.clientName);
81
+ // begin
82
+ options.args !== false && logger.log(options.level, `${message} args: ${JSON.stringify(_args)}`, context ? {
83
+ context
84
+ } : undefined);
85
+ const profiler = logger.startTimer();
86
+ // next
87
+ try {
88
+ const res = next();
89
+ if (res?.then) {
90
+ return res.then(res => {
91
+ options.result !== false && this._logResult(profiler, context, res, options, message);
92
+ return res;
93
+ }).catch(err => {
94
+ this._logError(profiler, context, err, options, message);
95
+ throw err;
96
+ });
97
+ }
98
+ options.result !== false && this._logResult(profiler, context, res, options, message);
99
+ return res;
100
+ } catch (err) {
101
+ this._logError(profiler, context, err, options, message);
102
+ throw err;
103
+ }
104
+ }
105
+ _getContext(options, receiver) {
106
+ return evaluateExpressions(options.context, receiver);
107
+ }
108
+ _logResult(profiler, context, res, options, message) {
109
+ const textResult = res !== undefined ? ` result: ${JSON.stringify(res)}` : '';
110
+ const info = {
111
+ level: options.level,
112
+ message: `${message}${textResult}`
113
+ };
114
+ if (context) info.context = context;
115
+ profiler.done(info);
116
+ }
117
+ _logError(profiler, context, err, _options, message) {
118
+ const textError = ` error: ${err.message}`;
119
+ const info = {
120
+ level: 'error',
121
+ message: `${message}${textError}`
122
+ };
123
+ if (context) info.context = context;
124
+ profiler.done(info);
125
+ }
126
+ }) || _class$3) || _class$3);
127
+
128
+ var _dec$2, _dec2$2, _class$2;
129
+ let BeanLogger = (_dec$2 = Bean(), _dec2$2 = BeanInfo({
130
+ module: "a-logger"
131
+ }), _dec$2(_class$2 = _dec2$2(_class$2 = class BeanLogger extends BeanBase {
132
+ getLevel(clientName) {
133
+ return this.app.meta.logger.getLevel(clientName);
134
+ }
135
+ setLevel(level, clientName) {
136
+ this.app.meta.logger.setLevel(level, clientName);
137
+ this.scope.broadcast.setLevel.emit({
138
+ level,
139
+ clientName
140
+ });
141
+ }
142
+ }) || _class$2) || _class$2);
143
+
144
+ var _dec$1, _dec2$1, _class$1;
145
+ let BroadcastSetLevel = (_dec$1 = Broadcast(), _dec2$1 = BeanInfo({
146
+ module: "a-logger"
147
+ }), _dec$1(_class$1 = _dec2$1(_class$1 = class BroadcastSetLevel extends BeanBroadcastBase {
148
+ async execute(data, isEmitter) {
149
+ if (!isEmitter) {
150
+ this.app.meta.logger.setLevel(data.level, data.clientName);
151
+ }
152
+ }
153
+ }) || _class$1) || _class$1);
154
+
155
+ var _dec, _dec2, _class;
156
+ let ScopeModuleALogger = (_dec = Scope(), _dec2 = BeanInfo({
157
+ module: "a-logger"
158
+ }), _dec(_class = _dec2(_class = class ScopeModuleALogger extends BeanScopeBase {}) || _class) || _class);
159
+
160
+ /** scope: end */
161
+
162
+ function Log(options) {
163
+ return Aspect.aopMethod('a-logger:log', options);
164
+ }
165
+
166
+ export { AopMethodLog, BeanLogger, BroadcastSetLevel, Log, MiddlewareSystemHttpLog, ScopeModuleALogger };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-logger",
3
3
  "type": "module",
4
- "version": "5.0.10",
4
+ "version": "5.0.12",
5
5
  "title": "a-logger",
6
6
  "vonaModule": {
7
7
  "dependencies": {}
@@ -34,6 +34,6 @@
34
34
  },
35
35
  "scripts": {
36
36
  "clean": "rimraf dist tsconfig.build.tsbuildinfo",
37
- "tsc:publish": "npm run clean && tsc -p tsconfig.build.json"
37
+ "tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json"
38
38
  }
39
39
  }
@@ -1,31 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- /** broadcast: end */
8
- /** scope: begin */
9
- import { BeanScopeBase } from 'vona';
10
- import { Scope } from 'vona-module-a-bean';
11
- import 'vona';
12
- import 'vona';
13
- import 'vona';
14
- import 'vona';
15
- import 'vona';
16
- export * from "../bean/aopMethod.log.js";
17
- /** aopMethod: end */
18
- /** bean: begin */
19
- export * from "../bean/bean.logger.js";
20
- /** bean: end */
21
- /** broadcast: begin */
22
- export * from "../bean/broadcast.setLevel.js";
23
- /** middlewareSystem: begin */
24
- export * from "../bean/middlewareSystem.httpLog.js";
25
- let ScopeModuleALogger = class ScopeModuleALogger extends BeanScopeBase {
26
- };
27
- ScopeModuleALogger = __decorate([
28
- Scope()
29
- ], ScopeModuleALogger);
30
- export { ScopeModuleALogger };
31
- /** scope: end */
@@ -1,2 +0,0 @@
1
- export const __ThisModule__ = 'a-logger';
2
- export { ScopeModuleALogger as ScopeModule } from "./index.js";
@@ -1,97 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { evaluateExpressions } from '@cabloy/utils';
8
- import { BeanAopMethodBase, SymbolBeanFullName } from 'vona';
9
- import { AopMethod } from 'vona-module-a-aspect';
10
- let AopMethodLog = class AopMethodLog extends BeanAopMethodBase {
11
- get(options, next, receiver, prop) {
12
- const context = this._getContext(options, receiver);
13
- const message = `${receiver[SymbolBeanFullName]}#${prop}(get)`;
14
- const logger = this.app.meta.logger.child(options.childName, options.clientName);
15
- // begin
16
- (!options.auto) && logger.log(options.level, message, context ? { context } : undefined);
17
- const profiler = logger.startTimer();
18
- // next
19
- try {
20
- const res = next();
21
- this._logResult(profiler, context, res, options, message);
22
- return res;
23
- }
24
- catch (err) {
25
- this._logError(profiler, context, err, options, message);
26
- throw err;
27
- }
28
- }
29
- set(options, value, next, receiver, prop) {
30
- const context = this._getContext(options, receiver);
31
- const message = `${receiver[SymbolBeanFullName]}#${prop}(set)`;
32
- const logger = this.app.meta.logger.child(options.childName, options.clientName);
33
- // begin
34
- logger.log(options.level, `${message} value: ${JSON.stringify(value)}`, context ? { context } : undefined);
35
- const profiler = logger.startTimer();
36
- // next
37
- try {
38
- const res = next();
39
- (!options.auto) && this._logResult(profiler, context, undefined, options, message);
40
- return res;
41
- }
42
- catch (err) {
43
- this._logError(profiler, context, err, options, message);
44
- throw err;
45
- }
46
- }
47
- execute(options, _args, next, receiver, prop) {
48
- const context = this._getContext(options, receiver);
49
- const message = `${receiver[SymbolBeanFullName]}#${prop}`;
50
- const logger = this.app.meta.logger.child(options.childName, options.clientName);
51
- // begin
52
- options.args !== false && logger.log(options.level, `${message} args: ${JSON.stringify(_args)}`, context ? { context } : undefined);
53
- const profiler = logger.startTimer();
54
- // next
55
- try {
56
- const res = next();
57
- if (res?.then) {
58
- return res.then((res) => {
59
- options.result !== false && this._logResult(profiler, context, res, options, message);
60
- return res;
61
- }).catch((err) => {
62
- this._logError(profiler, context, err, options, message);
63
- throw err;
64
- });
65
- }
66
- options.result !== false && this._logResult(profiler, context, res, options, message);
67
- return res;
68
- }
69
- catch (err) {
70
- this._logError(profiler, context, err, options, message);
71
- throw err;
72
- }
73
- }
74
- _getContext(options, receiver) {
75
- return evaluateExpressions(options.context, receiver);
76
- }
77
- _logResult(profiler, context, res, options, message) {
78
- const textResult = res !== undefined ? ` result: ${JSON.stringify(res)}` : '';
79
- const info = { level: options.level, message: `${message}${textResult}` };
80
- if (context)
81
- info.context = context;
82
- profiler.done(info);
83
- }
84
- _logError(profiler, context, err, _options, message) {
85
- const textError = ` error: ${err.message}`;
86
- const info = { level: 'error', message: `${message}${textError}` };
87
- if (context)
88
- info.context = context;
89
- profiler.done(info);
90
- }
91
- };
92
- AopMethodLog = __decorate([
93
- AopMethod({
94
- level: 'info',
95
- })
96
- ], AopMethodLog);
97
- export { AopMethodLog };
@@ -1,21 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { BeanBase } from 'vona';
8
- import { Bean } from 'vona-module-a-bean';
9
- let BeanLogger = class BeanLogger extends BeanBase {
10
- getLevel(clientName) {
11
- return this.app.meta.logger.getLevel(clientName);
12
- }
13
- setLevel(level, clientName) {
14
- this.app.meta.logger.setLevel(level, clientName);
15
- this.scope.broadcast.setLevel.emit({ level, clientName });
16
- }
17
- };
18
- BeanLogger = __decorate([
19
- Bean()
20
- ], BeanLogger);
21
- export { BeanLogger };
@@ -1,18 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { BeanBroadcastBase, Broadcast } from 'vona-module-a-broadcast';
8
- let BroadcastSetLevel = class BroadcastSetLevel extends BeanBroadcastBase {
9
- async execute(data, isEmitter) {
10
- if (!isEmitter) {
11
- this.app.meta.logger.setLevel(data.level, data.clientName);
12
- }
13
- }
14
- };
15
- BroadcastSetLevel = __decorate([
16
- Broadcast()
17
- ], BroadcastSetLevel);
18
- export { BroadcastSetLevel };
@@ -1,31 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import StdSerializers from 'pino-std-serializers';
8
- import { BeanBase } from 'vona';
9
- import { MiddlewareSystem } from 'vona-module-a-aspect';
10
- let MiddlewareSystemHttpLog = class MiddlewareSystemHttpLog extends BeanBase {
11
- async execute(_options, next) {
12
- const ctx = this.ctx;
13
- // start
14
- const req = StdSerializers.req(ctx.req);
15
- this.$loggerChild('req').http(JSON.stringify(req));
16
- const profiler = this.$loggerChild('res').startTimer();
17
- // next
18
- await next();
19
- // end
20
- const res = {
21
- url: ctx.req.url,
22
- statusCode: ctx.res.statusCode,
23
- headers: ctx.res.getHeaders(),
24
- };
25
- profiler.done({ level: 'http', message: JSON.stringify(res) });
26
- }
27
- };
28
- MiddlewareSystemHttpLog = __decorate([
29
- MiddlewareSystem()
30
- ], MiddlewareSystemHttpLog);
31
- export { MiddlewareSystemHttpLog };
package/dist/lib/index.js DELETED
@@ -1 +0,0 @@
1
- export * from "./log.js";
package/dist/lib/log.js DELETED
@@ -1,4 +0,0 @@
1
- import { Aspect } from 'vona-module-a-aspect';
2
- export function Log(options) {
3
- return Aspect.aopMethod('a-logger:log', options);
4
- }
@@ -1 +0,0 @@
1
- export * from "./logger.js";
@@ -1 +0,0 @@
1
- export {};