vona-module-a-logger 5.0.10 → 5.0.11

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.
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, BeanAopMethodBase, SymbolBeanFullName, BeanBase, BeanScopeBase } from 'vona';
2
+ import { Bean, Scope } from 'vona-module-a-bean';
3
+ import { evaluateExpressions } from '@cabloy/utils';
4
+ import { AopMethod, MiddlewareSystem, Aspect } from 'vona-module-a-aspect';
5
+ import { Broadcast, BeanBroadcastBase } from 'vona-module-a-broadcast';
6
+ import StdSerializers from 'pino-std-serializers';
7
+
8
+ var _dec$4, _dec2$4, _class$4;
9
+ let AopMethodLog = (_dec$4 = AopMethod({
10
+ level: 'info'
11
+ }), _dec2$4 = BeanInfo({
12
+ module: "a-logger"
13
+ }), _dec$4(_class$4 = _dec2$4(_class$4 = class AopMethodLog extends BeanAopMethodBase {
14
+ get(options, next, receiver, prop) {
15
+ const context = this._getContext(options, receiver);
16
+ const message = `${receiver[SymbolBeanFullName]}#${prop}(get)`;
17
+ const logger = this.app.meta.logger.child(options.childName, options.clientName);
18
+ // begin
19
+ !options.auto && logger.log(options.level, message, context ? {
20
+ context
21
+ } : undefined);
22
+ const profiler = logger.startTimer();
23
+ // next
24
+ try {
25
+ const res = next();
26
+ this._logResult(profiler, context, res, options, message);
27
+ return res;
28
+ } catch (err) {
29
+ this._logError(profiler, context, err, options, message);
30
+ throw err;
31
+ }
32
+ }
33
+ set(options, value, next, receiver, prop) {
34
+ const context = this._getContext(options, receiver);
35
+ const message = `${receiver[SymbolBeanFullName]}#${prop}(set)`;
36
+ const logger = this.app.meta.logger.child(options.childName, options.clientName);
37
+ // begin
38
+ logger.log(options.level, `${message} value: ${JSON.stringify(value)}`, context ? {
39
+ context
40
+ } : undefined);
41
+ const profiler = logger.startTimer();
42
+ // next
43
+ try {
44
+ const res = next();
45
+ !options.auto && this._logResult(profiler, context, undefined, options, message);
46
+ return res;
47
+ } catch (err) {
48
+ this._logError(profiler, context, err, options, message);
49
+ throw err;
50
+ }
51
+ }
52
+ execute(options, _args, next, receiver, prop) {
53
+ const context = this._getContext(options, receiver);
54
+ const message = `${receiver[SymbolBeanFullName]}#${prop}`;
55
+ const logger = this.app.meta.logger.child(options.childName, options.clientName);
56
+ // begin
57
+ options.args !== false && logger.log(options.level, `${message} args: ${JSON.stringify(_args)}`, context ? {
58
+ context
59
+ } : undefined);
60
+ const profiler = logger.startTimer();
61
+ // next
62
+ try {
63
+ const res = next();
64
+ if (res?.then) {
65
+ return res.then(res => {
66
+ options.result !== false && this._logResult(profiler, context, res, options, message);
67
+ return res;
68
+ }).catch(err => {
69
+ this._logError(profiler, context, err, options, message);
70
+ throw err;
71
+ });
72
+ }
73
+ options.result !== false && this._logResult(profiler, context, res, options, message);
74
+ return res;
75
+ } catch (err) {
76
+ this._logError(profiler, context, err, options, message);
77
+ throw err;
78
+ }
79
+ }
80
+ _getContext(options, receiver) {
81
+ return evaluateExpressions(options.context, receiver);
82
+ }
83
+ _logResult(profiler, context, res, options, message) {
84
+ const textResult = res !== undefined ? ` result: ${JSON.stringify(res)}` : '';
85
+ const info = {
86
+ level: options.level,
87
+ message: `${message}${textResult}`
88
+ };
89
+ if (context) info.context = context;
90
+ profiler.done(info);
91
+ }
92
+ _logError(profiler, context, err, _options, message) {
93
+ const textError = ` error: ${err.message}`;
94
+ const info = {
95
+ level: 'error',
96
+ message: `${message}${textError}`
97
+ };
98
+ if (context) info.context = context;
99
+ profiler.done(info);
100
+ }
101
+ }) || _class$4) || _class$4);
102
+
103
+ var _dec$3, _dec2$3, _class$3;
104
+ let BeanLogger = (_dec$3 = Bean(), _dec2$3 = BeanInfo({
105
+ module: "a-logger"
106
+ }), _dec$3(_class$3 = _dec2$3(_class$3 = class BeanLogger extends BeanBase {
107
+ getLevel(clientName) {
108
+ return this.app.meta.logger.getLevel(clientName);
109
+ }
110
+ setLevel(level, clientName) {
111
+ this.app.meta.logger.setLevel(level, clientName);
112
+ this.scope.broadcast.setLevel.emit({
113
+ level,
114
+ clientName
115
+ });
116
+ }
117
+ }) || _class$3) || _class$3);
118
+
119
+ var _dec$2, _dec2$2, _class$2;
120
+ let BroadcastSetLevel = (_dec$2 = Broadcast(), _dec2$2 = BeanInfo({
121
+ module: "a-logger"
122
+ }), _dec$2(_class$2 = _dec2$2(_class$2 = class BroadcastSetLevel extends BeanBroadcastBase {
123
+ async execute(data, isEmitter) {
124
+ if (!isEmitter) {
125
+ this.app.meta.logger.setLevel(data.level, data.clientName);
126
+ }
127
+ }
128
+ }) || _class$2) || _class$2);
129
+
130
+ var _dec$1, _dec2$1, _class$1;
131
+ let MiddlewareSystemHttpLog = (_dec$1 = MiddlewareSystem(), _dec2$1 = BeanInfo({
132
+ module: "a-logger"
133
+ }), _dec$1(_class$1 = _dec2$1(_class$1 = class MiddlewareSystemHttpLog extends BeanBase {
134
+ async execute(_options, next) {
135
+ const ctx = this.ctx;
136
+ // start
137
+ const req = StdSerializers.req(ctx.req);
138
+ this.$loggerChild('req').http(JSON.stringify(req));
139
+ const profiler = this.$loggerChild('res').startTimer();
140
+ // next
141
+ await next();
142
+ // end
143
+ const res = {
144
+ url: ctx.req.url,
145
+ statusCode: ctx.res.statusCode,
146
+ headers: ctx.res.getHeaders()
147
+ };
148
+ profiler.done({
149
+ level: 'http',
150
+ message: JSON.stringify(res)
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.11",
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 {};