@yolo-croket-dev/core 1.8.7-beta.0 → 1.8.7-beta.1

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.
@@ -5,3 +5,5 @@ export * from './rewrite-file-value.function';
5
5
  export * from './amqp-call-manager.function';
6
6
  export * from './extract-redis-url.function';
7
7
  export * from './abort';
8
+ export * from './uncaught-exception-handler';
9
+ export * from './unhandled-rejection-handler';
@@ -21,3 +21,5 @@ __exportStar(require("./rewrite-file-value.function"), exports);
21
21
  __exportStar(require("./amqp-call-manager.function"), exports);
22
22
  __exportStar(require("./extract-redis-url.function"), exports);
23
23
  __exportStar(require("./abort"), exports);
24
+ __exportStar(require("./uncaught-exception-handler"), exports);
25
+ __exportStar(require("./unhandled-rejection-handler"), exports);
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @author jun
3
+ * @description uncaughtException 핸들러 - 에러 로깅 및 모니터링
4
+ * @process
5
+ * 1. 에러 로그 기록 (MsaLogger, Datadog)
6
+ * 2. 개발팀에서 로그 확인 후 즉시 대응
7
+ *
8
+ * @note
9
+ * - uncaughtException 발생 시 즉시 로그를 기록하여 모니터링
10
+ * - 개발팀에서 알림을 받고 바로 대응 예정
11
+ * - MsaLogger 실패 시에도 console.error로 fallback 처리
12
+ */
13
+ export declare function uncaughtExceptionHandler(err: any): void;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.uncaughtExceptionHandler = void 0;
27
+ /* eslint-disable @typescript-eslint/no-explicit-any */
28
+ const msa_logger_1 = __importStar(require("@yolo-croket-dev/msa-logger"));
29
+ const msaLogger = new msa_logger_1.default(msa_logger_1.ServerTypeEnum.GATEWAY);
30
+ /**
31
+ * @author jun
32
+ * @description uncaughtException 핸들러 - 에러 로깅 및 모니터링
33
+ * @process
34
+ * 1. 에러 로그 기록 (MsaLogger, Datadog)
35
+ * 2. 개발팀에서 로그 확인 후 즉시 대응
36
+ *
37
+ * @note
38
+ * - uncaughtException 발생 시 즉시 로그를 기록하여 모니터링
39
+ * - 개발팀에서 알림을 받고 바로 대응 예정
40
+ * - MsaLogger 실패 시에도 console.error로 fallback 처리
41
+ */
42
+ function uncaughtExceptionHandler(err) {
43
+ try {
44
+ msaLogger.error('uncaughtException', {
45
+ traceId: 'uncaughtException',
46
+ errInfo: {
47
+ errType: err.name || 'Error',
48
+ status: err.status || 500,
49
+ message: err.message,
50
+ stack: err.stack,
51
+ },
52
+ });
53
+ }
54
+ catch (logError) {
55
+ // MsaLogger 실패 시 최후의 수단
56
+ // eslint-disable-next-line no-console
57
+ console.error('Failed to log uncaughtException:', logError);
58
+ // eslint-disable-next-line no-console
59
+ console.error('Original error:', err);
60
+ }
61
+ }
62
+ exports.uncaughtExceptionHandler = uncaughtExceptionHandler;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @author jun
3
+ * @description unhandledRejection 핸들러 - 에러 로깅 및 모니터링
4
+ * @process
5
+ * 1. Promise rejection 에러 로그 기록
6
+ * 2. 개발팀에서 로그 확인 후 즉시 대응
7
+ *
8
+ * @note
9
+ * - unhandledRejection 발생 시 즉시 로그를 기록하여 모니터링
10
+ * - 개발팀에서 알림을 받고 바로 대응 예정
11
+ * - MsaLogger 실패 시에도 console.error로 fallback 처리
12
+ */
13
+ export declare function unhandledRejectionHandler(err: any): void;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.unhandledRejectionHandler = void 0;
27
+ /* eslint-disable @typescript-eslint/no-explicit-any */
28
+ const msa_logger_1 = __importStar(require("@yolo-croket-dev/msa-logger"));
29
+ const msaLogger = new msa_logger_1.default(msa_logger_1.ServerTypeEnum.SERVICE);
30
+ /**
31
+ * @author jun
32
+ * @description unhandledRejection 핸들러 - 에러 로깅 및 모니터링
33
+ * @process
34
+ * 1. Promise rejection 에러 로그 기록
35
+ * 2. 개발팀에서 로그 확인 후 즉시 대응
36
+ *
37
+ * @note
38
+ * - unhandledRejection 발생 시 즉시 로그를 기록하여 모니터링
39
+ * - 개발팀에서 알림을 받고 바로 대응 예정
40
+ * - MsaLogger 실패 시에도 console.error로 fallback 처리
41
+ */
42
+ function unhandledRejectionHandler(err) {
43
+ try {
44
+ msaLogger.error('unhandledRejection', {
45
+ traceId: 'unhandledRejection',
46
+ errInfo: {
47
+ errType: (err === null || err === void 0 ? void 0 : err.name) || 'UnhandledRejection',
48
+ status: (err === null || err === void 0 ? void 0 : err.status) || 500,
49
+ message: (err === null || err === void 0 ? void 0 : err.message) || String(err),
50
+ stack: err === null || err === void 0 ? void 0 : err.stack,
51
+ },
52
+ });
53
+ }
54
+ catch (logError) {
55
+ // MsaLogger 실패 시 최후의 수단
56
+ // eslint-disable-next-line no-console
57
+ console.error('Failed to log unhandledRejection:', logError);
58
+ // eslint-disable-next-line no-console
59
+ console.error('Original error:', err);
60
+ }
61
+ }
62
+ exports.unhandledRejectionHandler = unhandledRejectionHandler;
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './exceptions';
2
2
  export * from './interceptors';
3
3
  export * from './interfaces';
4
+ export * from './functions';
package/index.js CHANGED
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./exceptions"), exports);
18
18
  __exportStar(require("./interceptors"), exports);
19
19
  __exportStar(require("./interfaces"), exports);
20
+ __exportStar(require("./functions"), exports);
@@ -110,9 +110,7 @@ let LoggingServiceInterceptor = class LoggingServiceInterceptor {
110
110
  const currentSpan = dd_trace_1.default.scope().active();
111
111
  let loggingSpan = null;
112
112
  if (currentSpan) {
113
- loggingSpan = dd_trace_1.default.startSpan(`logging-service-interceptor-${content.pattern}`, {
114
- childOf: currentSpan.context(),
115
- });
113
+ loggingSpan = dd_trace_1.default.startSpan(`logging-service-interceptor-${content.pattern}`, { childOf: currentSpan.context() });
116
114
  }
117
115
  if (loggingSpan) {
118
116
  loggingSpan.setTag('traceId', traceId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolo-croket-dev/core",
3
- "version": "1.8.7-beta.0",
3
+ "version": "1.8.7-beta.1",
4
4
  "author": "Yolo Co., Ltd.",
5
5
  "description": "Yolo commonization module",
6
6
  "main": "index.js",
@@ -1,9 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npm run lint)"
5
- ],
6
- "deny": [],
7
- "ask": []
8
- }
9
- }