TK-FB(공장관리+신고)와 M-Project(부적합관리)를 3개 독립 시스템으로 분리하기 위한 전체 코드 구조 작성. - SSO 인증 서비스 (bcrypt + pbkdf2 이중 해시 지원) - System 1: 공장관리 (TK-FB 기반, 신고 코드 제거) - System 2: 신고 (TK-FB에서 workIssue 코드 추출) - System 3: 부적합관리 (M-Project 기반) - Gateway 포털 (path-based 라우팅) - 통합 docker-compose.yml 및 배포 스크립트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4753 lines
249 KiB
Plaintext
4753 lines
249 KiB
Plaintext
[2025-12-19T01:28:03.160Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T01:28:03.162Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
|
|
}
|
|
[2025-12-19T03:49:44.167Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T03:49:44.170Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
|
|
}
|
|
[2025-12-19T04:45:53.564Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T04:45:53.567Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T04:50:25.816Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T04:50:25.818Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "46005ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T05:00:41.127Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T05:00:41.130Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "47941ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T05:02:24.251Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T05:02:24.254Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "41423ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T05:24:07.104Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T05:24:07.105Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "21ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T05:24:32.095Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T05:24:32.099Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "15ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T05:28:04.711Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T05:28:04.715Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T05:29:35.308Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2025-12-19T05:29:35.309Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "27ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2025-12-19T05:50:32.535Z] [ERROR] ❌ 활성 프로젝트 목록 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 활성 프로젝트 목록 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/projectController.js:63:23\n at Object.getActiveProjects (/usr/src/app/models/projectModel.js:51:5)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/projects/active/list",
|
|
"method": "GET",
|
|
"user": "tester"
|
|
}
|
|
[2025-12-19T05:50:32.539Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/projects/active/list",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:185.199.111.133",
|
|
"user": "tester",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15"
|
|
}
|
|
[2026-01-06T06:41:55.859Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다\n at /usr/src/app/controllers/workerController.js:121:23\n at Object.update (/usr/src/app/models/workerModel.js:119:4)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-06T06:41:55.863Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-01-06T06:42:08.280Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다\n at /usr/src/app/controllers/workerController.js:121:23\n at Object.update (/usr/src/app/models/workerModel.js:119:4)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-06T06:42:08.282Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-01-06T06:46:36.983Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다\n at /usr/src/app/controllers/workerController.js:121:23\n at Object.update (/usr/src/app/models/workerModel.js:119:4)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-06T06:46:36.985Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-01-07T06:38:19.704Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다\n at /usr/src/app/controllers/workerController.js:121:23\n at Object.update (/usr/src/app/models/workerModel.js:119:4)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-07T06:38:19.707Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-01-07T21:04:59.918Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다\n at /usr/src/app/controllers/workerController.js:121:23\n at Object.update (/usr/src/app/models/workerModel.js:119:4)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-07T21:04:59.922Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "13ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-01-18T23:10:57.364Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다\n at /usr/src/app/controllers/workerController.js:121:23\n at Object.update (/usr/src/app/models/workerModel.js:119:4)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-18T23:10:57.366Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:14:14.769Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다\n at /usr/src/app/controllers/workerController.js:121:23\n at Object.update (/usr/src/app/models/workerModel.js:119:4)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-18T23:14:14.772Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:16:46.906Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다: Unknown column 'phone_number' in 'field list'
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다: Unknown column 'phone_number' in 'field list'\n at /usr/src/app/controllers/workerController.js:129:16\n at Object.update (/usr/src/app/models/workerModel.js:116:5)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "김두수"
|
|
}
|
|
[2026-01-18T23:16:46.908Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "김두수",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:44:53.901Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-18T23:44:53.905Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-18T23:44:53.906Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "16ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:44:57.259Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2025,
|
|
"month": 12,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-18T23:44:57.262Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=12",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-18T23:44:57.264Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=12",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:44:57.938Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2025,
|
|
"month": 11,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-18T23:44:57.940Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=11",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-18T23:44:57.943Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=11",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:44:58.524Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2025,
|
|
"month": 10,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-18T23:44:58.526Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=10",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-18T23:44:58.529Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=10",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:47:29.522Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-18T23:47:29.524Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-18T23:47:29.525Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-18T23:54:23.399Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-18T23:54:23.400Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-18T23:54:23.402Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T00:25:33.270Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T00:25:33.275Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T00:25:33.276Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "45ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T00:28:22.901Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T00:28:22.903Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T00:28:22.904Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "77ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T00:37:37.852Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T00:37:37.856Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T00:37:37.860Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "38ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T00:50:26.248Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T00:50:26.249Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "17ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:50:44.368Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T00:50:44.372Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "11ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:51:02.688Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T00:51:02.690Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "21ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:52:04.069Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T00:52:04.071Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "101ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:52:09.791Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T00:52:09.793Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "81ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:53:00.469Z] [ERROR] ❌ Unexpected token ! in JSON at position 44
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Unexpected token ! in JSON at position 44\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T00:53:04.774Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T00:53:04.775Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "103ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:54:23.251Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T00:54:23.252Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T00:54:23.253Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T00:58:54.612Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T00:58:54.613Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T00:58:54.615Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "17ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:59:30.534Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T00:59:30.536Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T00:59:30.538Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T00:59:45.312Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T00:59:45.314Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T00:59:45.316Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:00:44.331Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T01:00:44.331Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T01:00:44.333Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "13ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:01:03.347Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T01:01:03.348Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T01:01:03.350Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "12ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:01:09.933Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T01:01:09.935Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T01:01:09.937Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:01:21.612Z] [ERROR] ❌ 사용자 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-19T01:01:21.613Z] [ERROR] ❌ 사용자 목록을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 목록을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:64:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T01:01:21.614Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:05:36.550Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다: Unknown column 'show_in_work_reports' in 'field list'
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다: Unknown column 'show_in_work_reports' in 'field list'\n at /usr/src/app/controllers/workerController.js:129:16\n at Object.update (/usr/src/app/models/workerModel.js:145:5)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T01:05:36.555Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "20ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T01:20:19.705Z] [ERROR] ❌ 작업자 수정 중 오류가 발생했습니다: Unknown column 'employment_status' in 'field list'
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업자 수정 중 오류가 발생했습니다: Unknown column 'employment_status' in 'field list'\n at /usr/src/app/controllers/workerController.js:129:16\n at Object.update (/usr/src/app/models/workerModel.js:145:5)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/workers/7",
|
|
"method": "PUT",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-01-19T01:20:19.708Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/workers/7",
|
|
"statusCode": 500,
|
|
"duration": "11ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T01:28:00.203Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/attendance-records?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "김두수",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:28:52.115Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/attendance-records?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "김두수",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:29:45.341Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance?year=2026",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "김두수",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:29:45.481Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/monthly-stats?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "김두수",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:37:53.595Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T01:37:53.596Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "84ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:38:00.327Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T01:38:00.328Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "84ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:39:52.592Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance?year=2026",
|
|
"statusCode": 500,
|
|
"duration": "18ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "김두수",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:41:03.451Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance?year=2026",
|
|
"statusCode": 500,
|
|
"duration": "16ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "김두수",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T01:47:58.618Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T01:47:58.620Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "103ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T01:48:43.659Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T01:48:43.661Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "84ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T01:50:49.683Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T01:50:49.686Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "94ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T02:12:35.830Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T02:12:35.832Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "90ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T02:12:42.433Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T02:12:42.434Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "86ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T23:18:30.255Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:18:30.257Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "82ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:21:34.438Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:21:34.439Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "72ms",
|
|
"ip": "::ffff:172.20.0.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-19T23:29:00.861Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-19T23:29:00.863Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:29:00.864Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:30:17.114Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-19T23:30:17.116Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:30:17.118Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:30:28.117Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2025,
|
|
"month": 12,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-19T23:30:28.119Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=12",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:30:28.121Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=12",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:30:28.603Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2025,
|
|
"month": 11,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-19T23:30:28.604Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=11",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:30:28.606Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2025&month=11",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:40:53.178Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-19T23:40:53.179Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:40:53.182Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:43:53.454Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-19T23:43:53.456Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:43:53.457Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:47:01.446Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:47:01.483Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/work-reports?startDate=2026-01-12&endDate=2026-01-19",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:48:17.202Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:48:17.223Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/work-reports?startDate=2026-01-12&endDate=2026-01-19",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:50:19.243Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:50:19.268Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/work-reports?startDate=2026-01-12&endDate=2026-01-19",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:52:41.332Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:52:41.368Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/work-reports?startDate=2026-01-12&endDate=2026-01-19",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:52:42.976Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:52:42.993Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/work-reports?startDate=2026-01-12&endDate=2026-01-19",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:52:43.700Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:52:43.716Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/work-reports?startDate=2026-01-12&endDate=2026-01-19",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:53:46.736Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/vacation-balance",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:53:46.771Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/me/work-reports?startDate=2026-01-12&endDate=2026-01-19",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-19T23:55:13.327Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-19T23:55:13.328Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-19T23:55:13.330Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-20T04:55:58.676Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-20T04:55:58.678Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-20T04:55:58.678Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-20T04:57:39.387Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-20T04:57:39.388Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-20T04:57:39.389Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-20T04:59:08.034Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-20T04:59:08.035Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-20T04:59:08.037Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-20T05:05:15.969Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-20T05:05:15.970Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-20T05:05:15.973Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-20T05:07:42.078Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-20T05:07:42.080Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-20T05:07:42.081Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-20T05:55:21.464Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-20T05:55:21.466Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-20T05:55:21.467Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T03:31:02.900Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-26T03:31:02.902Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "29ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-01-26T03:31:21.277Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-26T03:31:21.278Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "75ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T03:36:01.423Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-26T03:36:01.426Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-26T03:36:11.834Z] [ERROR] ❌ 아이디 또는 비밀번호가 올바르지 않습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 아이디 또는 비밀번호가 올바르지 않습니다.\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-26T03:36:11.835Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "87ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-26T04:06:20.534Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-26T04:06:20.536Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-26T04:06:20.538Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T06:09:58.909Z] [ERROR] ❌ 작업 목록 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업 목록 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/taskController.js:52:23\n at Object.getAllTasks (/usr/src/app/models/taskModel.js:48:5)\n at rows (/usr/src/app/controllers/taskController.js:51:15)\n at new Promise (<anonymous>)\n at /usr/src/app/controllers/taskController.js:50:22\n at /usr/src/app/middlewares/errorHandler.js:86:21\n at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/src/app/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/src/app/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)",
|
|
"url": "/api/tasks",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-26T06:09:58.913Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tasks",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T06:10:03.531Z] [ERROR] ❌ 작업 목록 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업 목록 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/taskController.js:52:23\n at Object.getAllTasks (/usr/src/app/models/taskModel.js:48:5)\n at rows (/usr/src/app/controllers/taskController.js:51:15)\n at new Promise (<anonymous>)\n at /usr/src/app/controllers/taskController.js:50:22\n at /usr/src/app/middlewares/errorHandler.js:86:21\n at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/src/app/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/src/app/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)",
|
|
"url": "/api/tasks",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-26T06:10:03.535Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tasks",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T06:11:22.958Z] [ERROR] ❌ 작업 목록 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 작업 목록 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/taskController.js:52:23\n at Object.getAllTasks (/usr/src/app/models/taskModel.js:48:5)\n at rows (/usr/src/app/controllers/taskController.js:51:15)\n at new Promise (<anonymous>)\n at /usr/src/app/controllers/taskController.js:50:22\n at /usr/src/app/middlewares/errorHandler.js:86:21\n at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/src/app/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/src/app/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)",
|
|
"url": "/api/tasks",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-26T06:11:22.961Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tasks",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-26T23:12:04.753Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/date/2026-01-26",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T23:33:07.342Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/date/2026-01-26",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T23:38:44.930Z] [ERROR] ❌ Unexpected token ! in JSON at position 44
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Unexpected token ! in JSON at position 44\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-26T23:56:23.074Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T23:56:23.822Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "11ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T23:56:25.480Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T23:59:22.812Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T23:59:42.308Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-26T23:59:43.607Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T00:10:56.317Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T00:10:58.780Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T00:11:00.068Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/1/team",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T02:12:44.079Z] [ERROR] ❌ 작업보고서 조회 실패
|
|
Context: {
|
|
"error": "데이터베이스에서 작업 보고서를 조회하는 중 오류가 발생했습니다."
|
|
}
|
|
[2026-01-27T02:13:14.118Z] [ERROR] ❌ 페이지네이션 쿼리 실행 오류: getaddrinfo ENOTFOUND db
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 페이지네이션 쿼리 실행 오류: getaddrinfo ENOTFOUND db\n at errorHandler (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)\n at next (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/workers?limit=1000",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T02:13:14.121Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/workers?limit=1000",
|
|
"statusCode": 500,
|
|
"duration": "47692ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T02:13:14.145Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/incomplete-reports",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T02:13:14.157Z] [ERROR] ❌ 작업보고서 조회 실패
|
|
Context: {
|
|
"error": "데이터베이스에서 작업 보고서를 조회하는 중 오류가 발생했습니다."
|
|
}
|
|
[2026-01-27T02:18:52.779Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/incomplete-reports",
|
|
"statusCode": 500,
|
|
"duration": "45419ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T02:25:40.934Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/incomplete-reports",
|
|
"statusCode": 500,
|
|
"duration": "32ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T03:01:25.706Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::20005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::20005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)"
|
|
}
|
|
[2026-01-27T04:39:28.760Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "17ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T04:41:14.613Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T04:41:23.093Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-27T04:41:23.093Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-27T04:41:23.094Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T04:42:15.452Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T04:43:26.987Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T04:43:47.140Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T04:44:51.501Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T04:48:37.471Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T04:52:15.661Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-27T04:52:15.662Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-27T04:52:15.663Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T04:52:32.371Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T04:53:37.689Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T04:57:48.213Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T04:57:49.518Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T04:57:50.127Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "1ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T04:58:36.844Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "0ms",
|
|
"ip": "::1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T05:01:11.850Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T05:01:12.947Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T05:01:24.564Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T05:01:41.243Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T05:03:50.194Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T05:05:22.452Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T05:07:33.693Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/daily-work-reports/from-tbm",
|
|
"statusCode": 500,
|
|
"duration": "11ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T05:36:26.482Z] [ERROR] ❌ 계정 생성 실패
|
|
Context: {
|
|
"worker_id": 1,
|
|
"error": "knex is not a function"
|
|
}
|
|
[2026-01-27T05:36:31.623Z] [ERROR] ❌ 계정 생성 실패
|
|
Context: {
|
|
"worker_id": 2,
|
|
"error": "knex is not a function"
|
|
}
|
|
[2026-01-27T05:36:53.547Z] [ERROR] ❌ 계정 생성 실패
|
|
Context: {
|
|
"worker_id": 1,
|
|
"error": "knex is not a function"
|
|
}
|
|
[2026-01-27T05:41:22.459Z] [ERROR] ❌ 계정 생성 실패
|
|
Context: {
|
|
"worker_id": 1,
|
|
"error": "knex is not a function"
|
|
}
|
|
[2026-01-27T05:48:12.778Z] [ERROR] ❌ 계정 생성 실패
|
|
Context: {
|
|
"worker_id": 1,
|
|
"error": "knex is not a function"
|
|
}
|
|
[2026-01-27T05:50:41.374Z] [ERROR] ❌ 계정 생성 실패
|
|
Context: {
|
|
"worker_id": 1,
|
|
"error": "knex is not a function"
|
|
}
|
|
[2026-01-27T05:50:57.609Z] [ERROR] ❌ 계정 생성 실패
|
|
Context: {
|
|
"worker_id": 1,
|
|
"error": "knex is not a function"
|
|
}
|
|
[2026-01-27T05:54:05.814Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "1",
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-27T05:54:05.816Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:328:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/1",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T05:54:05.818Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/1",
|
|
"statusCode": 500,
|
|
"duration": "33ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:11:05.446Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "1",
|
|
"error": "Unknown column 'phone' in 'field list'"
|
|
}
|
|
[2026-01-27T06:11:05.448Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:328:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/1",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:11:05.450Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/1",
|
|
"statusCode": 500,
|
|
"duration": "14ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:17:33.290Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "1",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:17:33.292Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/1",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:17:33.293Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/1",
|
|
"statusCode": 500,
|
|
"duration": "17ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:19:22.037Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "1",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:19:22.039Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/1",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:19:22.040Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/1",
|
|
"statusCode": 500,
|
|
"duration": "21ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:19:29.015Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:19:29.016Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:19:29.017Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/27",
|
|
"statusCode": 500,
|
|
"duration": "13ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:19:44.431Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "1",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:19:44.431Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/1",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:19:44.432Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/1",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:32:44.259Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "1",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:32:44.261Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/1",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:32:44.263Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/1",
|
|
"statusCode": 500,
|
|
"duration": "16ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:40:46.749Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "1",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:40:46.752Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/1",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:40:46.753Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/1",
|
|
"statusCode": 500,
|
|
"duration": "25ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:41:03.563Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:41:03.565Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:41:03.566Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/27",
|
|
"statusCode": 500,
|
|
"duration": "12ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:44:42.019Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:44:42.019Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:44:42.020Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/27",
|
|
"statusCode": 500,
|
|
"duration": "11ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:45:16.052Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:45:16.053Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:45:16.054Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/27",
|
|
"statusCode": 500,
|
|
"duration": "15ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-27T06:48:27.655Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-01-27T06:48:27.656Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T06:48:27.662Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/27",
|
|
"statusCode": 500,
|
|
"duration": "15ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-27T22:54:43.976Z] [ERROR] ❌ 사용자 페이지 권한 조회 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'p.is_active' in 'where clause'"
|
|
}
|
|
[2026-01-27T22:54:43.977Z] [ERROR] ❌ 페이지 권한을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 페이지 권한을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:527:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27/page-access",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-27T22:54:43.977Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/27/page-access",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-28T06:37:48.873Z] [ERROR] ❌ 휴가 유형 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'hours_deduction' in 'field list'"
|
|
}
|
|
[2026-01-28T06:37:48.876Z] [ERROR] ❌ 휴가 유형 목록 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 휴가 유형 목록 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getVacationTypesService (/usr/src/app/services/attendanceService.js:201:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:116:16",
|
|
"url": "/api/attendance/vacation-types",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-28T06:37:48.877Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/vacation-types",
|
|
"statusCode": 500,
|
|
"duration": "12ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-29T02:25:49.721Z] [ERROR] ❌ 출근 체크 목록 조회 실패
|
|
Context: {
|
|
"date": "2026-01-29",
|
|
"error": "Unknown column 'vt.name' in 'field list'"
|
|
}
|
|
[2026-01-29T02:25:49.723Z] [ERROR] ❌ 출근 체크 목록 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 출근 체크 목록 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getCheckinListService (/usr/src/app/services/attendanceService.js:270:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:162:16",
|
|
"url": "/api/attendance/checkin-list?date=2026-01-29",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-29T02:25:49.724Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/checkin-list?date=2026-01-29",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-29T03:35:41.189Z] [ERROR] ❌ 처리되지 않은 Promise 거부
|
|
Context: {
|
|
"reason": {},
|
|
"promise": {}
|
|
}
|
|
[2026-01-29T04:13:53.289Z] [ERROR] ❌ 휴가 유형 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'hours_deduction' in 'field list'"
|
|
}
|
|
[2026-01-29T04:13:53.293Z] [ERROR] ❌ 휴가 유형 목록 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 휴가 유형 목록 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getVacationTypesService (/usr/src/app/services/attendanceService.js:201:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:116:16",
|
|
"url": "/api/attendance/vacation-types",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-29T04:13:53.295Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/vacation-types",
|
|
"statusCode": 500,
|
|
"duration": "15ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-29T04:15:03.731Z] [ERROR] ❌ 휴가 유형 목록 조회 실패
|
|
Context: {
|
|
"error": "Unknown column 'hours_deduction' in 'field list'"
|
|
}
|
|
[2026-01-29T04:15:03.734Z] [ERROR] ❌ 휴가 유형 목록 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 휴가 유형 목록 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getVacationTypesService (/usr/src/app/services/attendanceService.js:201:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:116:16",
|
|
"url": "/api/attendance/vacation-types",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-01-29T04:15:03.735Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/vacation-types",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-01-29T04:16:36.038Z] [ERROR] ❌ 처리되지 않은 Promise 거부
|
|
Context: {
|
|
"reason": {},
|
|
"promise": {}
|
|
}
|
|
[2026-01-29T04:36:18.565Z] [ERROR] ❌ 처리되지 않은 Promise 거부
|
|
Context: {
|
|
"reason": {},
|
|
"promise": {}
|
|
}
|
|
[2026-01-29T04:40:12.488Z] [ERROR] ❌ 처리되지 않은 Promise 거부
|
|
Context: {
|
|
"reason": {},
|
|
"promise": {}
|
|
}
|
|
[2026-01-29T04:40:28.482Z] [ERROR] ❌ 처리되지 않은 Promise 거부
|
|
Context: {
|
|
"reason": {},
|
|
"promise": {}
|
|
}
|
|
[2026-01-29T05:41:03.976Z] [ERROR] ❌ Bad escaped character in JSON at position 42 (line 1 column 43)
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Bad escaped character in JSON at position 42 (line 1 column 43)\n at errorHandler (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)\n at next (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-29T06:07:27.937Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:28.229Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:28.509Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:28.803Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:29.098Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:29.389Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:29.669Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:29.984Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:30.292Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:30.636Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:30.936Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:31.349Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:31.682Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:31.989Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:32.279Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:07:32.593Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::3005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::3005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:45:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/pm2/lib/ProcessContainerFork.js:33:23)"
|
|
}
|
|
[2026-01-29T06:36:59.736Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-29T06:36:59.737Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-29T06:36:59.737Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-01-29T06:38:21.888Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 1,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-01-29T06:38:21.890Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-01-29T06:38:21.891Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=1",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T00:31:17.596Z] [ERROR] ❌ 사용자 페이지 권한 조회 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'p.is_active' in 'where clause'"
|
|
}
|
|
[2026-02-02T00:31:17.599Z] [ERROR] ❌ 페이지 권한을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 페이지 권한을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:527:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27/page-access",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-02T00:31:17.601Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/27/page-access",
|
|
"statusCode": 500,
|
|
"duration": "13ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T00:37:03.225Z] [ERROR] ❌ 사용자 페이지 권한 조회 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'p.is_active' in 'where clause'"
|
|
}
|
|
[2026-02-02T00:37:03.226Z] [ERROR] ❌ 페이지 권한을 조회하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 페이지 권한을 조회하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:527:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27/page-access",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-02T00:37:03.227Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/users/27/page-access",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T00:37:26.050Z] [ERROR] ❌ 사용자 수정 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Unknown column 'phone' in 'field list'",
|
|
"stack": "Error: Unknown column 'phone' in 'field list'\n at PromisePool.execute (/usr/src/app/node_modules/mysql2/lib/promise/pool.js:54:22)\n at /usr/src/app/controllers/userController.js:332:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"
|
|
}
|
|
[2026-02-02T00:37:26.052Z] [ERROR] ❌ 사용자 정보를 수정하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 사용자 정보를 수정하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:351:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-02T00:37:26.054Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/27",
|
|
"statusCode": 500,
|
|
"duration": "17ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T00:58:06.586Z] [ERROR] ❌ 사용자 페이지 권한 업데이트 실패
|
|
Context: {
|
|
"userId": "27",
|
|
"error": "Duplicate entry '27-12' for key 'PRIMARY'"
|
|
}
|
|
[2026-02-02T00:58:06.588Z] [ERROR] ❌ 페이지 권한을 업데이트하는데 실패했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 페이지 권한을 업데이트하는데 실패했습니다\n at /usr/src/app/controllers/userController.js:590:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/users/27/page-access",
|
|
"method": "PUT",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-02T00:58:06.590Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/users/27/page-access",
|
|
"statusCode": 500,
|
|
"duration": "18ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T01:17:22.550Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-02-02T01:17:22.555Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-02T01:17:22.557Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "18ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T01:55:18.370Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)\n at next (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-02T01:55:18.371Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "50029ms",
|
|
"ip": "::1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-02-02T01:56:14.496Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)\n at next (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-02T01:56:14.497Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-02-02T01:58:11.336Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/sessions/12/safety-checks/filtered",
|
|
"statusCode": 500,
|
|
"duration": "12ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T04:21:58.482Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/weather/current",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T04:22:03.141Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/weather/conditions",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T04:22:03.306Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/tbm/weather/current",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:192.168.65.1",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T04:24:39.943Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "Request failed with status code 401"
|
|
}
|
|
[2026-02-02T05:39:54.384Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-02-02T05:39:54.388Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-02T05:39:54.389Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "17ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-02T05:40:27.806Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "Request failed with status code 429"
|
|
}
|
|
[2026-02-02T06:25:51.666Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-02-02T06:25:51.668Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-02T06:25:51.671Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "25ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T00:01:53.650Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:01:54.540Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:02:36.831Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:02:38.183Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:03:16.057Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:03:21.794Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:03:48.574Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:04:33.007Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:05:39.548Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "API 오류: NO_DATA"
|
|
}
|
|
[2026-02-03T00:29:57.097Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-02-03T00:29:57.098Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-03T00:29:57.100Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T00:30:01.016Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "Request failed with status code 429"
|
|
}
|
|
[2026-02-03T00:30:01.164Z] [ERROR] ❌ 월별 캘린더 데이터 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Table 'hyungi.monthly_summary' doesn't exist"
|
|
}
|
|
[2026-02-03T00:30:01.168Z] [ERROR] ❌ 월별 캘린더 데이터 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 캘린더 데이터 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/monthlyStatusController.js:80:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-03T00:30:01.172Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/monthly-status/calendar?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "20ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "anonymous",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T01:10:52.126Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "timeout of 5000ms exceeded"
|
|
}
|
|
[2026-02-03T03:36:49.926Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "timeout of 5000ms exceeded"
|
|
}
|
|
[2026-02-03T03:38:39.091Z] [ERROR] ❌ 일일 근태 기록 조회 실패
|
|
Context: {
|
|
"date": "2026-02-03",
|
|
"error": "Unknown column 'vt.hours_deduction' in 'field list'"
|
|
}
|
|
[2026-02-03T03:38:39.092Z] [ERROR] ❌ 근태 기록 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getDailyAttendanceRecordsService (/usr/src/app/services/attendanceService.js:62:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:32:16",
|
|
"url": "/api/attendance/daily-records?date=2026-02-03",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:38:39.092Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/daily-records?date=2026-02-03",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:38:51.209Z] [ERROR] ❌ 일일 근태 기록 조회 실패
|
|
Context: {
|
|
"date": "2026-02-03",
|
|
"error": "Unknown column 'vt.hours_deduction' in 'field list'"
|
|
}
|
|
[2026-02-03T03:38:51.210Z] [ERROR] ❌ 근태 기록 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getDailyAttendanceRecordsService (/usr/src/app/services/attendanceService.js:62:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:32:16",
|
|
"url": "/api/attendance/daily-records?date=2026-02-03",
|
|
"method": "GET",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:38:51.211Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/daily-records?date=2026-02-03",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:52:31.094Z] [ERROR] ❌ 서버 오류가 발생했습니다.
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: 서버 오류가 발생했습니다.\n at errorHandler (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)\n at next (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:326:13)\n at /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:286:9\n at router.process_params (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-03T03:52:31.094Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/auth/login",
|
|
"statusCode": 500,
|
|
"duration": "76ms",
|
|
"ip": "::1",
|
|
"user": "anonymous",
|
|
"userAgent": "curl/8.7.1"
|
|
}
|
|
[2026-02-03T03:55:18.145Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 12,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.147Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.148Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.163Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 10,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.164Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.165Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.173Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 9,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.175Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.176Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.188Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 8,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.189Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.190Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.196Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 6,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.197Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.197Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.203Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 5,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.203Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.204Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.210Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 4,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.210Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.211Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.217Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 3,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.217Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.218Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T03:55:18.223Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-03",
|
|
"worker_id": 2,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-03T03:55:18.224Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:109:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "admin"
|
|
}
|
|
[2026-02-03T03:55:18.224Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "admin",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-03T06:26:46.976Z] [ERROR] ❌ Unexpected token ! in JSON at position 42
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Unexpected token ! in JSON at position 42\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-03T06:26:50.711Z] [ERROR] ❌ Unexpected token ! in JSON at position 42
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Unexpected token ! in JSON at position 42\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-03T21:43:00.150Z] [ERROR] ❌ r.toLowerCase is not a function
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: r.toLowerCase is not a function\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/departments",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-03T21:43:00.154Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/departments",
|
|
"statusCode": 500,
|
|
"duration": "14ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T03:44:34.456Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/equipments/68/repair-history",
|
|
"statusCode": 500,
|
|
"duration": "43ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:24:20.424Z] [ERROR] ❌ r.toLowerCase is not a function
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: r.toLowerCase is not a function\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/departments",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T06:24:20.427Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/departments",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:37:16.946Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "11ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:40:06.642Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:41:11.237Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:44:22.703Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:47:46.730Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:48:48.063Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:49:20.333Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:49:43.895Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:52:39.264Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T06:53:54.394Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/notification-recipients",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.600Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 11,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.603Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.604Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "13ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.617Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 10,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.617Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.617Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.626Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 9,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.627Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.627Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.634Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 8,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.634Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.635Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.642Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 6,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.643Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.643Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.650Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 5,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.651Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.651Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.658Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 4,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.659Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.660Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.666Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 3,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.667Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.668Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:44:43.674Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 2,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:44:43.675Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:44:43.676Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.881Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 11,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.885Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.887Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "13ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.898Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 10,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.899Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.900Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.907Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 9,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.908Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.909Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.918Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 8,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.918Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.919Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.926Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 6,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.927Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.928Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.935Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 5,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.936Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.936Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.943Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 4,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.944Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.944Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.952Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 3,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.952Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.953Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:47:15.959Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 2,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:47:15.960Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:47:15.960Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.662Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 11,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.665Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.668Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "14ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.678Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 10,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.679Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.680Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.690Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 9,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.691Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.692Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.700Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 8,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.701Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.702Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.709Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 6,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.710Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.710Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.719Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 5,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.720Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.720Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.728Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 4,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.728Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.729Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.737Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 3,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.738Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.738Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.744Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 2,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.745Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.746Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:49:03.753Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 1,
|
|
"error": "Bind parameters must not contain undefined. To pass SQL NULL specify JS null"
|
|
}
|
|
[2026-02-04T11:49:03.754Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:111:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:49:03.755Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.119Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 11,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.121Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.122Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.137Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 10,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.138Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.140Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.150Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 9,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.151Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.152Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "5ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.162Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 8,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.162Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.163Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.177Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 6,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.178Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.178Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.187Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 5,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.190Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.192Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "8ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.202Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 4,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.203Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.204Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.212Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 3,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.213Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.213Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.221Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 2,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.222Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.225Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T11:51:48.233Z] [ERROR] ❌ 근태 기록 저장 실패
|
|
Context: {
|
|
"record_date": "2026-02-04",
|
|
"worker_id": 1,
|
|
"error": "Unknown column 'work_attendance_type_id' in 'field list'"
|
|
}
|
|
[2026-02-04T11:51:48.234Z] [ERROR] ❌ 근태 기록 저장 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 근태 기록 저장 중 데이터베이스 오류가 발생했습니다\n at Object.upsertAttendanceRecordService (/usr/src/app/services/attendanceService.js:108:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:50:18",
|
|
"url": "/api/attendance/records",
|
|
"method": "POST",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-04T11:51:48.236Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "POST",
|
|
"url": "/api/attendance/records",
|
|
"statusCode": 500,
|
|
"duration": "4ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-04T12:07:05.910Z] [ERROR] ❌ Unexpected token ! in JSON at position 41
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Unexpected token ! in JSON at position 41\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-04T12:07:09.214Z] [ERROR] ❌ Unexpected token ! in JSON at position 41
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Unexpected token ! in JSON at position 41\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-04T22:43:50.633Z] [ERROR] ❌ Unexpected token ! in JSON at position 46
|
|
Context: {
|
|
"code": "INTERNAL_ERROR",
|
|
"stack": "AppError: Unexpected token ! in JSON at position 46\n at errorHandler (/usr/src/app/middlewares/errorHandler.js:51:13)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:71:5)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/src/app/node_modules/express/lib/router/index.js:280:10)\n at Layer.handle_error (/usr/src/app/node_modules/express/lib/router/layer.js:67:12)\n at trim_prefix (/usr/src/app/node_modules/express/lib/router/index.js:326:13)\n at /usr/src/app/node_modules/express/lib/router/index.js:286:9\n at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:346:12)",
|
|
"url": "/api/auth/login",
|
|
"method": "POST",
|
|
"user": "anonymous"
|
|
}
|
|
[2026-02-05T00:43:03.070Z] [ERROR] ❌ 작업보고서 수정 실패
|
|
Context: {
|
|
"reportId": "1784",
|
|
"error": "데이터베이스에서 작업 보고서를 수정하는 중 오류가 발생했습니다."
|
|
}
|
|
[2026-02-05T00:43:03.073Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "PUT",
|
|
"url": "/api/daily-work-reports/1784",
|
|
"statusCode": 500,
|
|
"duration": "14ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T01:58:17.302Z] [ERROR] ❌ 월별 근태 통계 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Unknown column 'dar.status' in 'field list'"
|
|
}
|
|
[2026-02-05T01:58:17.305Z] [ERROR] ❌ 월별 근태 통계 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 근태 통계 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getMonthlyAttendanceStatsService (/usr/src/app/services/attendanceService.js:246:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:144:16",
|
|
"url": "/api/attendance/monthly-stats?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T01:58:17.307Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/monthly-stats?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "34ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T01:58:41.217Z] [ERROR] ❌ 월별 근태 통계 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Unknown column 'dar.status' in 'field list'"
|
|
}
|
|
[2026-02-05T01:58:41.219Z] [ERROR] ❌ 월별 근태 통계 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 근태 통계 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getMonthlyAttendanceStatsService (/usr/src/app/services/attendanceService.js:246:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:144:16",
|
|
"url": "/api/attendance/monthly-stats?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T01:58:41.220Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/monthly-stats?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T01:59:44.122Z] [ERROR] ❌ 월별 근태 통계 조회 실패
|
|
Context: {
|
|
"year": 2026,
|
|
"month": 2,
|
|
"error": "Unknown column 'dar.status' in 'field list'"
|
|
}
|
|
[2026-02-05T01:59:44.128Z] [ERROR] ❌ 월별 근태 통계 조회 중 데이터베이스 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 월별 근태 통계 조회 중 데이터베이스 오류가 발생했습니다\n at Object.getMonthlyAttendanceStatsService (/usr/src/app/services/attendanceService.js:246:11)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /usr/src/app/controllers/attendanceController.js:144:16",
|
|
"url": "/api/attendance/monthly-stats?year=2026&month=2",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T01:59:44.132Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/attendance/monthly-stats?year=2026&month=2",
|
|
"statusCode": 500,
|
|
"duration": "58ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T02:01:01.783Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::20005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::20005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:207:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)"
|
|
}
|
|
[2026-02-05T02:01:14.935Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::20005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::20005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:207:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)"
|
|
}
|
|
[2026-02-05T02:01:31.840Z] [ERROR] ❌ 처리되지 않은 예외
|
|
Context: {
|
|
"error": "listen EADDRINUSE: address already in use :::20005",
|
|
"stack": "Error: listen EADDRINUSE: address already in use :::20005\n at Server.setupListenHandle [as _listen2] (node:net:1940:16)\n at listenInCluster (node:net:1997:12)\n at Server.listen (node:net:2102:7)\n at app.listen (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/node_modules/express/lib/application.js:635:24)\n at Object.<anonymous> (/Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net/index.js:207:20)\n at Module._compile (node:internal/modules/cjs/loader:1692:14)\n at Object..js (node:internal/modules/cjs/loader:1824:10)\n at Module.load (node:internal/modules/cjs/loader:1427:32)\n at Module._load (node:internal/modules/cjs/loader:1250:12)\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)"
|
|
}
|
|
[2026-02-05T04:41:23.154Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/patrol/workplaces/12/detail?date=2026-02-05",
|
|
"statusCode": 500,
|
|
"duration": "7ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T04:41:24.151Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/patrol/workplaces/11/detail?date=2026-02-05",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T04:41:24.509Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/patrol/workplaces/10/detail?date=2026-02-05",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T04:45:43.179Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/patrol/workplaces/9/detail?date=2026-02-05",
|
|
"statusCode": 500,
|
|
"duration": "10ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T04:59:59.755Z] [ERROR] ❌ 날씨 API 호출 실패
|
|
Context: {
|
|
"error": "Request failed with status code 429"
|
|
}
|
|
[2026-02-05T05:09:23.015Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/patrol/workplaces/2/zone-items",
|
|
"statusCode": 500,
|
|
"duration": "17ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.2 Safari/605.1.15"
|
|
}
|
|
[2026-02-05T22:28:00.070Z] [ERROR] ❌ 최근 작업 현황 조회 실패
|
|
Context: {
|
|
"start": "2026-01-01",
|
|
"end": "2026-01-31",
|
|
"limit": 2000,
|
|
"error": "최근 작업 현황 조회 실패: Table 'hyungi.error_types' doesn't exist"
|
|
}
|
|
[2026-02-05T22:28:00.073Z] [ERROR] ❌ 최근 작업 현황 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 최근 작업 현황 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/workAnalysisController.js:247:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=2000",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T22:28:00.075Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=2000",
|
|
"statusCode": 500,
|
|
"duration": "15ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-02-05T22:28:00.077Z] [ERROR] ❌ 에러 분석 실패
|
|
Context: {
|
|
"start": "2026-01-01",
|
|
"end": "2026-01-31",
|
|
"error": "에러 분석 실패: Table 'hyungi.error_types' doesn't exist"
|
|
}
|
|
[2026-02-05T22:28:00.077Z] [ERROR] ❌ 에러 분석 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 에러 분석 중 오류가 발생했습니다\n at /usr/src/app/controllers/workAnalysisController.js:301:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/work-analysis/error-analysis?start=2026-01-01&end=2026-01-31",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T22:28:00.078Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/work-analysis/error-analysis?start=2026-01-01&end=2026-01-31",
|
|
"statusCode": 500,
|
|
"duration": "12ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-02-05T22:28:05.917Z] [ERROR] ❌ 최근 작업 현황 조회 실패
|
|
Context: {
|
|
"start": "2026-01-01",
|
|
"end": "2026-01-31",
|
|
"limit": 2000,
|
|
"error": "최근 작업 현황 조회 실패: Table 'hyungi.error_types' doesn't exist"
|
|
}
|
|
[2026-02-05T22:28:05.918Z] [ERROR] ❌ 최근 작업 현황 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 최근 작업 현황 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/workAnalysisController.js:247:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=2000",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T22:28:05.919Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=2000",
|
|
"statusCode": 500,
|
|
"duration": "9ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-02-05T22:28:05.919Z] [ERROR] ❌ 에러 분석 실패
|
|
Context: {
|
|
"start": "2026-01-01",
|
|
"end": "2026-01-31",
|
|
"error": "에러 분석 실패: Table 'hyungi.error_types' doesn't exist"
|
|
}
|
|
[2026-02-05T22:28:05.920Z] [ERROR] ❌ 에러 분석 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 에러 분석 중 오류가 발생했습니다\n at /usr/src/app/controllers/workAnalysisController.js:301:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/work-analysis/error-analysis?start=2026-01-01&end=2026-01-31",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T22:28:05.921Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/work-analysis/error-analysis?start=2026-01-01&end=2026-01-31",
|
|
"statusCode": 500,
|
|
"duration": "6ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-02-05T22:28:20.786Z] [ERROR] ❌ 최근 작업 현황 조회 실패
|
|
Context: {
|
|
"start": "2026-01-01",
|
|
"end": "2026-01-31",
|
|
"limit": 2000,
|
|
"error": "최근 작업 현황 조회 실패: Table 'hyungi.error_types' doesn't exist"
|
|
}
|
|
[2026-02-05T22:28:20.787Z] [ERROR] ❌ 최근 작업 현황 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 최근 작업 현황 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/workAnalysisController.js:247:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=2000",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T22:28:20.787Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=2000",
|
|
"statusCode": 500,
|
|
"duration": "2ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
|
|
}
|
|
[2026-02-05T22:28:20.792Z] [ERROR] ❌ 최근 작업 현황 조회 실패
|
|
Context: {
|
|
"start": "2026-01-01",
|
|
"end": "2026-01-31",
|
|
"limit": 100,
|
|
"error": "최근 작업 현황 조회 실패: Table 'hyungi.error_types' doesn't exist"
|
|
}
|
|
[2026-02-05T22:28:20.793Z] [ERROR] ❌ 최근 작업 현황 조회 중 오류가 발생했습니다
|
|
Context: {
|
|
"code": "DATABASE_ERROR",
|
|
"stack": "DatabaseError: 최근 작업 현황 조회 중 오류가 발생했습니다\n at /usr/src/app/controllers/workAnalysisController.js:247:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=100",
|
|
"method": "GET",
|
|
"user": "hyungi"
|
|
}
|
|
[2026-02-05T22:28:20.794Z] [ERROR] ❌ HTTP Request - Server Error
|
|
Context: {
|
|
"method": "GET",
|
|
"url": "/api/work-analysis/recent-work?start=2026-01-01&end=2026-01-31&limit=100",
|
|
"statusCode": 500,
|
|
"duration": "3ms",
|
|
"ip": "::ffff:185.199.108.133",
|
|
"user": "hyungi",
|
|
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
|
|
}
|