@jayfong/x-server 2.49.5 → 2.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -17,6 +17,53 @@ class LogService {
17
17
  flags: 'a'
18
18
  });
19
19
  }, logFile => logFile);
20
+ this.info = (title, desc) => {
21
+ this.log({
22
+ level: 'info',
23
+ title,
24
+ desc
25
+ });
26
+ };
27
+ this.success = (title, desc) => {
28
+ this.log({
29
+ level: 'success',
30
+ title,
31
+ desc
32
+ });
33
+ };
34
+ this.error = (title, desc) => {
35
+ this.log({
36
+ level: 'error',
37
+ title,
38
+ desc
39
+ });
40
+ };
41
+ this.console = {
42
+ info: (title, desc) => {
43
+ this.log({
44
+ writer: 'console',
45
+ level: 'info',
46
+ title,
47
+ desc
48
+ });
49
+ },
50
+ success: (title, desc) => {
51
+ this.log({
52
+ writer: 'console',
53
+ level: 'success',
54
+ title,
55
+ desc
56
+ });
57
+ },
58
+ error: (title, desc) => {
59
+ this.log({
60
+ writer: 'console',
61
+ level: 'error',
62
+ title,
63
+ desc
64
+ });
65
+ }
66
+ };
20
67
  }
21
68
  getLogFile(date) {
22
69
  const year = date.getFullYear();
@@ -44,28 +91,12 @@ class LogService {
44
91
  };
45
92
  }
46
93
  log(payload) {
47
- this.getLogWriter(this.logFile).write(`${[(0, _date.formatDate)(new Date(), 'yyyy-mm-dd hh:ii:ss'), payload.level, payload.title, ...(!payload.desc ? [] : Array.isArray(payload.desc) ? payload.desc : Object.keys(payload.desc).map(key => `${key}:${payload.desc[key]}`))].map(item => String(item).replace(/[\r\n\t]+/g, ' ')).join('\t')}\n`);
48
- }
49
- info(title, desc) {
50
- this.log({
51
- level: 'info',
52
- title,
53
- desc
54
- });
55
- }
56
- success(title, desc) {
57
- this.log({
58
- level: 'success',
59
- title,
60
- desc
61
- });
62
- }
63
- error(title, desc) {
64
- this.log({
65
- level: 'error',
66
- title,
67
- desc
68
- });
94
+ const getContent = () => `${[(0, _date.formatDate)(new Date(), 'yyyy-mm-dd hh:ii:ss'), payload.level, payload.title, ...(!payload.desc ? [] : Array.isArray(payload.desc) ? payload.desc : Object.keys(payload.desc).map(key => `${key}:${payload.desc[key]}`))].map(item => String(item).replace(/[\r\n\t]+/g, ' ')).join('\t')}`;
95
+ if (payload.writer === 'console') {
96
+ console[payload.level === 'error' ? 'error' : 'log'](getContent());
97
+ } else {
98
+ this.getLogWriter(this.logFile).write(`${getContent()}\n`);
99
+ }
69
100
  }
70
101
  }
71
102
  exports.LogService = LogService;
@@ -2,7 +2,9 @@ import { Merge } from 'vtils/types';
2
2
  import { BaseService } from './base';
3
3
  export type LogServiceLevel = 'error' | 'info' | 'success';
4
4
  export type LogServiceDesc = Record<string, any> | any[];
5
+ export type LogServiceWriter = 'file' | 'console';
5
6
  export type LogServicePayload = {
7
+ writer?: LogServiceWriter;
6
8
  level: LogServiceLevel;
7
9
  title: string;
8
10
  desc?: LogServiceDesc;
@@ -18,9 +20,14 @@ export declare class LogService implements BaseService {
18
20
  private getLogWriter;
19
21
  parseLogLineText<K extends string = string>(text: string, keysMap?: Record<string, string[]>): LogServiceLogItem<K>;
20
22
  private log;
21
- info(title: string, desc?: LogServiceDesc): void;
22
- success(title: string, desc?: LogServiceDesc): void;
23
- error(title: string, desc?: LogServiceDesc): void;
23
+ info: (title: string, desc?: LogServiceDesc) => void;
24
+ success: (title: string, desc?: LogServiceDesc) => void;
25
+ error: (title: string, desc?: LogServiceDesc) => void;
26
+ console: {
27
+ info: (title: string, desc?: LogServiceDesc) => void;
28
+ success: (title: string, desc?: LogServiceDesc) => void;
29
+ error: (title: string, desc?: LogServiceDesc) => void;
30
+ };
24
31
  }
25
32
  declare module '../x' {
26
33
  interface X {
@@ -12,6 +12,53 @@ export class LogService {
12
12
  flags: 'a'
13
13
  });
14
14
  }, logFile => logFile);
15
+ this.info = (title, desc) => {
16
+ this.log({
17
+ level: 'info',
18
+ title,
19
+ desc
20
+ });
21
+ };
22
+ this.success = (title, desc) => {
23
+ this.log({
24
+ level: 'success',
25
+ title,
26
+ desc
27
+ });
28
+ };
29
+ this.error = (title, desc) => {
30
+ this.log({
31
+ level: 'error',
32
+ title,
33
+ desc
34
+ });
35
+ };
36
+ this.console = {
37
+ info: (title, desc) => {
38
+ this.log({
39
+ writer: 'console',
40
+ level: 'info',
41
+ title,
42
+ desc
43
+ });
44
+ },
45
+ success: (title, desc) => {
46
+ this.log({
47
+ writer: 'console',
48
+ level: 'success',
49
+ title,
50
+ desc
51
+ });
52
+ },
53
+ error: (title, desc) => {
54
+ this.log({
55
+ writer: 'console',
56
+ level: 'error',
57
+ title,
58
+ desc
59
+ });
60
+ }
61
+ };
15
62
  }
16
63
  getLogFile(date) {
17
64
  const year = date.getFullYear();
@@ -39,27 +86,11 @@ export class LogService {
39
86
  };
40
87
  }
41
88
  log(payload) {
42
- this.getLogWriter(this.logFile).write(`${[formatDate(new Date(), 'yyyy-mm-dd hh:ii:ss'), payload.level, payload.title, ...(!payload.desc ? [] : Array.isArray(payload.desc) ? payload.desc : Object.keys(payload.desc).map(key => `${key}:${payload.desc[key]}`))].map(item => String(item).replace(/[\r\n\t]+/g, ' ')).join('\t')}\n`);
43
- }
44
- info(title, desc) {
45
- this.log({
46
- level: 'info',
47
- title,
48
- desc
49
- });
50
- }
51
- success(title, desc) {
52
- this.log({
53
- level: 'success',
54
- title,
55
- desc
56
- });
57
- }
58
- error(title, desc) {
59
- this.log({
60
- level: 'error',
61
- title,
62
- desc
63
- });
89
+ const getContent = () => `${[formatDate(new Date(), 'yyyy-mm-dd hh:ii:ss'), payload.level, payload.title, ...(!payload.desc ? [] : Array.isArray(payload.desc) ? payload.desc : Object.keys(payload.desc).map(key => `${key}:${payload.desc[key]}`))].map(item => String(item).replace(/[\r\n\t]+/g, ' ')).join('\t')}`;
90
+ if (payload.writer === 'console') {
91
+ console[payload.level === 'error' ? 'error' : 'log'](getContent());
92
+ } else {
93
+ this.getLogWriter(this.logFile).write(`${getContent()}\n`);
94
+ }
64
95
  }
65
96
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayfong/x-server",
3
- "version": "2.49.5",
3
+ "version": "2.50.0",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "lib/_cjs/index.js",