@asapjs/common 1.0.0-alpha.3 → 1.0.0-alpha.30

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/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AsapJSConfig } from '@asapjs/types';
1
+ import type { AsapJSConfig } from '@asapjs/types';
2
2
  export declare const getConfig: () => AsapJSConfig;
3
3
  export declare const setConfig: (newConfig: AsapJSConfig) => void;
4
4
  export declare const hasConfig: () => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,eAAO,MAAM,SAAS,QAAO,YAK5B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,WAAW,YAAY,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,eAAO,MAAM,SAAS,QAAO,YAK5B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,WAAW,YAAY,KAAG,IAEnD,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAEA,IAAI,MAAM,GAAwB,IAAI,CAAC;AAEhC,MAAM,SAAS,GAAG,GAAiB,EAAE;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB;AAEK,MAAM,SAAS,GAAG,CAAC,SAAuB,EAAQ,EAAE;IACzD,MAAM,GAAG,SAAS,CAAC;AACrB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,SAAS,GAAG,GAAY,EAAE;IACrC,OAAO,MAAM,KAAK,IAAI,CAAC;AACzB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAEA,IAAI,MAAM,GAAwB,IAAI,CAAC;AAEhC,MAAM,SAAS,GAAG,GAAiB,EAAE;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB;AAEK,MAAM,SAAS,GAAG,CAAC,SAAuB,EAAQ,EAAE;IAC1D,MAAM,GAAG,SAAS,CAAC;AACpB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,SAAS,GAAG,GAAY,EAAE;IACtC,OAAO,MAAM,KAAK,IAAI,CAAC;AACxB,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export { logger, default as defaultLogger } from './logger';
2
1
  export { getConfig, setConfig, hasConfig } from './config';
2
+ export { default as logger, configureLogger } from './logger';
3
+ export type { LogOptions } from './logger';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.hasConfig = exports.setConfig = exports.getConfig = exports.defaultLogger = exports.logger = void 0;
7
- var logger_1 = require("./logger");
8
- Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
9
- Object.defineProperty(exports, "defaultLogger", { enumerable: true, get: function () { return __importDefault(logger_1).default; } });
6
+ exports.configureLogger = exports.logger = exports.hasConfig = exports.setConfig = exports.getConfig = void 0;
10
7
  var config_1 = require("./config");
11
8
  Object.defineProperty(exports, "getConfig", { enumerable: true, get: function () { return config_1.getConfig; } });
12
9
  Object.defineProperty(exports, "setConfig", { enumerable: true, get: function () { return config_1.setConfig; } });
13
10
  Object.defineProperty(exports, "hasConfig", { enumerable: true, get: function () { return config_1.hasConfig; } });
11
+ var logger_1 = require("./logger");
12
+ Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return __importDefault(logger_1).default; } });
13
+ Object.defineProperty(exports, "configureLogger", { enumerable: true, get: function () { return logger_1.configureLogger; } });
14
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA4D;AAAnD,gGAAA,MAAM,OAAA;AAAE,wHAAA,OAAO,OAAiB;AACzC,mCAA2D;AAAlD,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA2D;AAAlD,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AACxC,mCAA8D;AAArD,iHAAA,OAAO,OAAU;AAAE,yGAAA,eAAe,OAAA"}
package/dist/logger.d.ts CHANGED
@@ -1,4 +1,32 @@
1
- import { Logger } from '@asapjs/types';
2
- export declare const logger: Logger;
1
+ export type LogOptions = {
2
+ level: string;
3
+ format: 'pretty' | 'json';
4
+ };
5
+ /**
6
+ * 공통 로그 메타 (최소 스키마)
7
+ * - operation: 함수/유스케이스명
8
+ * - executeId: 실행/흐름 식별자
9
+ * - err: error 레벨에서만 넣기 권장 (stack 포함)
10
+ */
11
+ export interface LogMeta {
12
+ operation?: string;
13
+ executeId?: string;
14
+ err?: unknown;
15
+ context?: Record<string, unknown>;
16
+ [key: string]: unknown;
17
+ }
18
+ /** setConfig() 이후 config.log 반영 시 호출. 프로덕션에서는 env로 인입 후 config에 넣으면 됨 */
19
+ export declare const configureLogger: () => void;
20
+ type LogFn = (message: string, meta?: LogMeta) => void;
21
+ interface LoggerFacade {
22
+ debug: LogFn;
23
+ info: LogFn;
24
+ warn: LogFn;
25
+ error: {
26
+ (message: string, meta?: LogMeta): void;
27
+ (message: string, err: unknown, meta?: LogMeta): void;
28
+ };
29
+ }
30
+ declare const logger: LoggerFacade;
3
31
  export default logger;
4
32
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAwBvC,eAAO,MAAM,MAAM,EAAE,MAiBpB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAA;CAAE,CAAC;AA4CtE;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAwED,yEAAyE;AACzE,eAAO,MAAM,eAAe,QAAO,IASlC,CAAC;AAEF,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEvD,UAAU,YAAY;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE;QACN,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KACtD,CAAC;CACF;AAUD,QAAA,MAAM,MAAM,EAAE,YA2Bb,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/logger.js CHANGED
@@ -1,35 +1,138 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logger = void 0;
3
+ exports.configureLogger = void 0;
4
4
  const winston_1 = require("winston");
5
- const winstonLogger = (0, winston_1.createLogger)({
5
+ const config_1 = require("./config");
6
+ const isDev = () => process.env.NODE_ENV !== 'production';
7
+ /** config 또는 env 기반 로그 옵션. setConfig 전에는 env만 사용. */
8
+ const getLogOptions = () => {
9
+ const fromEnv = {
10
+ level: process.env.ASAPJS_LOG_LEVEL ?? 'info',
11
+ format: (process.env.ASAPJS_LOG_FORMAT === 'json'
12
+ ? 'json'
13
+ : process.env.ASAPJS_LOG_FORMAT === 'pretty'
14
+ ? 'pretty'
15
+ : null),
16
+ };
17
+ if (!(0, config_1.hasConfig)()) {
18
+ return {
19
+ level: fromEnv.level,
20
+ format: fromEnv.format ?? (isDev() ? 'pretty' : 'json'),
21
+ };
22
+ }
23
+ const config = (0, config_1.getConfig)();
24
+ return {
25
+ level: config.log?.level ?? fromEnv.level,
26
+ format: config.log?.format ?? fromEnv.format ?? (isDev() ? 'pretty' : 'json'),
27
+ };
28
+ };
29
+ const isPlainObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v) && !(v instanceof Error);
30
+ const warnInvalidMeta = (level, message, meta) => {
31
+ baseLogger.warn('[asapjs logger] Invalid meta: expected object. Use logger.<level>(message, { operation, executeId, context })', {
32
+ operation: 'logger.metaValidation',
33
+ context: {
34
+ level,
35
+ message,
36
+ metaType: meta === null ? 'null' : Array.isArray(meta) ? 'array' : typeof meta,
37
+ },
38
+ });
39
+ };
40
+ const sanitizeMeta = (meta) => {
41
+ if (!meta)
42
+ return {};
43
+ const out = { ...meta };
44
+ // remove undefined keys so executeId is omitted when not present
45
+ for (const k of Object.keys(out)) {
46
+ if (out[k] === undefined)
47
+ delete out[k];
48
+ }
49
+ return out;
50
+ };
51
+ const normalizeErrField = (0, winston_1.format)((info) => {
52
+ const err = info.err;
53
+ if (err instanceof Error) {
54
+ info.err = {
55
+ name: err.name,
56
+ message: err.message,
57
+ stack: err.stack,
58
+ };
59
+ }
60
+ return info;
61
+ });
62
+ const prettyConsoleFormat = winston_1.format.combine(winston_1.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), normalizeErrField(), winston_1.format.colorize(), // level만 색상 적용 (message 제외)
63
+ winston_1.format.printf(({ level, message, timestamp, ...meta }) => {
64
+ const { err, ...rest } = meta;
65
+ let extra = '';
66
+ if (err && typeof err === 'object') {
67
+ const name = err.name ?? 'Error';
68
+ const msg = err.message ?? '';
69
+ extra += `\n ${name}: ${msg}`;
70
+ if (err.stack)
71
+ extra += `\n ${err.stack.split('\n').slice(1, 15).join('\n ')}`;
72
+ }
73
+ if (Object.keys(rest).length > 0)
74
+ extra += ` ${JSON.stringify(rest)}`;
75
+ return `${timestamp} ${level}: ${message}${extra}`;
76
+ }));
77
+ const jsonConsoleFormat = winston_1.format.combine(winston_1.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), normalizeErrField(), winston_1.format.json());
78
+ const applyLogOptions = () => {
79
+ const { level, format: fmt } = getLogOptions();
80
+ return {
81
+ level,
82
+ format: fmt === 'pretty' ? prettyConsoleFormat : jsonConsoleFormat,
83
+ };
84
+ };
85
+ const initialOpts = applyLogOptions();
86
+ const baseLogger = (0, winston_1.createLogger)({
87
+ level: initialOpts.level,
6
88
  transports: [
7
89
  new winston_1.transports.Console({
8
- level: 'debug',
9
- format: winston_1.format.combine(winston_1.format.label({ label: `[asapjs]` }), winston_1.format.timestamp({
10
- format: 'YYYY-MM-DD HH:mm:ss',
11
- }), winston_1.format.colorize(), winston_1.format.printf((info) => `${info.timestamp} - ${info.level}: ${info.label} ${info.message}`)),
90
+ format: initialOpts.format,
12
91
  }),
13
92
  ],
14
93
  });
15
- exports.logger = {
16
- info: (message, ...args) => {
17
- winstonLogger.info(message, ...args);
18
- },
19
- error: (message, ...args) => {
20
- if (message instanceof Error) {
21
- winstonLogger.error(message.message, { error: message, ...args });
94
+ /** setConfig() 이후 config.log 반영 시 호출. 프로덕션에서는 env로 인입 후 config에 넣으면 됨 */
95
+ const configureLogger = () => {
96
+ const opts = applyLogOptions();
97
+ baseLogger.level = opts.level;
98
+ baseLogger.clear();
99
+ baseLogger.add(new winston_1.transports.Console({
100
+ format: opts.format,
101
+ }));
102
+ };
103
+ exports.configureLogger = configureLogger;
104
+ const logWithLevel = (level, message, meta) => {
105
+ if (meta !== undefined && !isPlainObject(meta)) {
106
+ warnInvalidMeta(level, message, meta);
107
+ return;
108
+ }
109
+ baseLogger.log(level, message, sanitizeMeta(meta));
110
+ };
111
+ const logger = {
112
+ debug: (message, meta) => logWithLevel('debug', message, meta),
113
+ info: (message, meta) => logWithLevel('info', message, meta),
114
+ warn: (message, meta) => logWithLevel('warn', message, meta),
115
+ error: ((message, arg2, arg3) => {
116
+ // 지원하는 두 가지 패턴:
117
+ // - logger.error('msg', { operation, executeId })
118
+ // - logger.error('msg', err, { operation, executeId })
119
+ if (arg3 !== undefined) {
120
+ if (!isPlainObject(arg3)) {
121
+ warnInvalidMeta('error', message, arg3);
122
+ baseLogger.error(message, { err: arg2 });
123
+ return;
124
+ }
125
+ const merged = sanitizeMeta(arg3);
126
+ merged.err = arg2;
127
+ baseLogger.error(message, merged);
128
+ return;
22
129
  }
23
- else {
24
- winstonLogger.error(message, ...args);
130
+ if (isPlainObject(arg2)) {
131
+ baseLogger.error(message, sanitizeMeta(arg2));
132
+ return;
25
133
  }
26
- },
27
- warn: (message, ...args) => {
28
- winstonLogger.warn(message, ...args);
29
- },
30
- debug: (message, ...args) => {
31
- winstonLogger.debug(message, ...args);
32
- },
134
+ baseLogger.error(message, { err: arg2 });
135
+ }),
33
136
  };
34
- exports.default = exports.logger;
137
+ exports.default = logger;
35
138
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAS3D,MAAM,aAAa,GAAG,IAAA,sBAAY,EAAC;IACjC,UAAU,EAAE;QACV,IAAI,oBAAU,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,gBAAM,CAAC,OAAO,CACpB,gBAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EACnC,gBAAM,CAAC,SAAS,CAAC;gBACf,MAAM,EAAE,qBAAqB;aAC9B,CAAC,EACF,gBAAM,CAAC,QAAQ,EAAE,EACjB,gBAAM,CAAC,MAAM,CAAC,CAAC,IAAuB,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAC/G;SACF,CAAC;KACH;CACF,CAAC,CAAC;AAEU,QAAA,MAAM,GAAW;IAC5B,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE;QACxC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,EAAE,CAAC,OAAuB,EAAE,GAAG,IAAW,EAAE,EAAE;QACjD,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC7B,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE;QACxC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAW,EAAE,EAAE;QACzC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;CACF,CAAC;AAEF,kBAAe,cAAM,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asapjs/common",
3
- "version": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.30",
4
4
  "description": "Common utilities for AsapJS framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,16 +13,17 @@
13
13
  },
14
14
  "author": "",
15
15
  "license": "ISC",
16
+ "homepage": "https://www.asapjs.com",
16
17
  "publishConfig": {
17
18
  "access": "public"
18
19
  },
19
20
  "dependencies": {
20
- "@asapjs/types": "1.0.0-alpha.3",
21
+ "@asapjs/types": "^1.0.0-alpha.30",
21
22
  "winston": "^3.6.0"
22
23
  },
23
24
  "devDependencies": {
24
25
  "@types/node": "^17.0.21",
25
26
  "typescript": "^5.8.3"
26
27
  },
27
- "gitHead": "a5ddacd5a030d60c8141a84d8f4679ed4051aa7a"
28
+ "gitHead": "92f9d0a6ef735a1641a7b36a5b5989a34bbb5bc3"
28
29
  }