{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 08:24:45"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 08:26:21"}
{"level":"info","message":"[PDF] Start generating PDF for invoice INT-TEST-001 - Real Client","timestamp":"2025-10-15 08:26:25"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 08:26:25"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: INT-TEST-001 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-INT-TEST-001-Paid.pdf","timestamp":"2025-10-15 08:26:30"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 08:26:31"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice INT-TEST-001","timestamp":"2025-10-15 08:26:31"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 08:34:51"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 08:36:12"}
{"level":"info","message":"[PDF] Start generating PDF for invoice INT-TEST-001 - Real Client","timestamp":"2025-10-15 08:36:15"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 08:36:15"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: INT-TEST-001 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-INT-TEST-001-Paid.pdf","timestamp":"2025-10-15 08:36:22"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 08:36:23"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice INT-TEST-001","timestamp":"2025-10-15 08:36:23"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 08:41:28"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 08:44:15"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:44:58"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:44:59"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:44:59"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:44:59"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:44:59"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:44:59"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:00"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:00"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:00"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:00"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:00"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:01"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:01"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:01"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:01"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:01"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:01"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:01"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:02"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:02"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:02"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:02"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:02"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:22"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:22"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:23"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:24"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:24"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:24"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:24"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:24"}
{"level":"error","message":"[CORS] Origin http://localhost:3000 not allowed by CORS policy.","timestamp":"2025-10-15 08:45:24"}
{"level":"info","message":"[PDF] Found invoice 41660, preparing data for PDF generation.","timestamp":"2025-10-15 08:49:35"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 08:49:35"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: 41660 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-41660-Unpaid.pdf","timestamp":"2025-10-15 08:49:42"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 08:49:43"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice 41660","timestamp":"2025-10-15 08:49:43"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 08:55:50"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 08:55:52"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 08:55:56"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 08:56:02"}
{"level":"info","message":"[Skip] Invoice 41649 has been manually skipped.","timestamp":"2025-10-15 08:57:29"}
{"level":"info","message":"[Skip] Invoice 41651 has been manually skipped.","timestamp":"2025-10-15 08:57:34"}
{"level":"info","message":"[Skip] Invoice 41650 has been manually skipped.","timestamp":"2025-10-15 08:57:40"}
{"level":"warn","message":"[Skip] Invoice batch not found or already delivered.","timestamp":"2025-10-15 08:59:02"}
{"level":"warn","message":"[Skip] Invoice batch not found or already delivered.","timestamp":"2025-10-15 09:00:04"}
{"level":"info","message":"[Skip] Invoice 41652 has been manually skipped.","timestamp":"2025-10-15 09:00:35"}
{"level":"info","message":"[Skip] Invoice 41653 has been manually skipped.","timestamp":"2025-10-15 09:00:37"}
{"level":"warn","message":"[Skip] Invoice batch not found or already delivered.","timestamp":"2025-10-15 09:00:42"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 09:01:10"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 09:01:12"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 09:01:14"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 09:01:21"}
{"level":"warn","message":"[Skip] Invoice batch not found or already delivered.","timestamp":"2025-10-15 09:02:08"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 09:05:17"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 09:05:19"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 09:05:25"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 09:05:30"}
{"level":"warn","message":"[Skip] Invoice batch not found or already delivered.","timestamp":"2025-10-15 09:05:45"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 09:09:41"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 09:09:43"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 09:09:45"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 09:09:48"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 09:10:15"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 09:10:17"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 09:10:19"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 09:10:23"}
{"level":"info","message":"[Skip] Batch skip executed for 4 invoices. 4 were updated.","timestamp":"2025-10-15 09:10:25"}
{"level":"info","message":"[Skip] Batch skip executed for 3 invoices. 3 were updated.","timestamp":"2025-10-15 09:10:29"}
{"level":"info","message":"[PDF] Found invoice 108, preparing data for PDF generation.","timestamp":"2025-10-15 09:27:20"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 09:27:20"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: 108 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-108-Unpaid.pdf","timestamp":"2025-10-15 09:27:25"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 09:27:26"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice 108","timestamp":"2025-10-15 09:27:26"}
{"level":"info","message":"[Skip] Invoice 108 has been manually skipped.","timestamp":"2025-10-15 09:40:48"}
{"level":"info","message":"[Skip] Invoice 109 has been manually skipped.","timestamp":"2025-10-15 09:40:53"}
{"level":"info","message":"[Skip] Invoice 108 has been manually skipped.","timestamp":"2025-10-15 09:41:36"}
{"level":"info","message":"[Skip] Invoice 108 has been manually skipped.","timestamp":"2025-10-15 09:42:12"}
{"level":"info","message":"[Skip] Invoice 109 has been manually skipped.","timestamp":"2025-10-15 09:43:05"}
{"level":"info","message":"[Skip] Invoice 108 has been manually skipped.","timestamp":"2025-10-15 09:45:07"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 09:52:48"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 09:52:50"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 09:53:03"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 09:54:11"}
{"level":"info","message":"[Requeue] Invoice 109 has been re-queued for sending.","timestamp":"2025-10-15 09:54:40"}
{"level":"info","message":"[Requeue] Batch re-queue executed for 2 invoices. 2 were updated.","timestamp":"2025-10-15 09:55:11"}
{"level":"info","message":"[PDF] Found invoice 41658, preparing data for PDF generation.","timestamp":"2025-10-15 09:56:12"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 09:56:12"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: 41658 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-41658-Unpaid.pdf","timestamp":"2025-10-15 09:56:18"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 09:56:19"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice 41658","timestamp":"2025-10-15 09:56:19"}
{"level":"info","message":"[Requeue] Batch re-queue executed for 2 invoices. 2 were updated.","timestamp":"2025-10-15 09:56:25"}
{"level":"info","message":"[Skip] Batch skip executed for 4 invoices. 4 were updated.","timestamp":"2025-10-15 09:56:38"}
{"level":"info","message":"[PDF] Found invoice 108, preparing data for PDF generation.","timestamp":"2025-10-15 09:58:18"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 09:58:18"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: 108 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-108-Unpaid.pdf","timestamp":"2025-10-15 09:58:28"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 09:58:31"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice 108","timestamp":"2025-10-15 09:58:31"}
{"level":"info","message":"[PDF] Found invoice 109, preparing data for PDF generation.","timestamp":"2025-10-15 10:03:42"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 10:03:42"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: 109 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-109-Unpaid.pdf","timestamp":"2025-10-15 10:03:48"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 10:03:50"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice 109","timestamp":"2025-10-15 10:03:50"}
{"level":"info","message":"[PDF] Found invoice 41660, preparing data for PDF generation.","timestamp":"2025-10-15 10:03:55"}
{"level":"info","message":"[Puppeteer] Launching new browser instance for a request...","timestamp":"2025-10-15 10:03:55"}
{"level":"info","message":"[Puppeteer] PDF successfully generated for inv_id: 41660 at E:\\dev\\nodejs\\invoiceGenerate\\public\\invoice\\2025\\10\\15\\invoice-41660-Unpaid.pdf","timestamp":"2025-10-15 10:04:01"}
{"level":"info","message":"[Puppeteer] Browser instance closed for the request.","timestamp":"2025-10-15 10:04:05"}
{"level":"info","message":"[PDF] Successfully generated PDF for invoice 41660","timestamp":"2025-10-15 10:04:05"}
{"level":"info","message":"[Cron] Cron job dimulai","timestamp":"2025-10-15 10:18:50"}
{"level":"info","message":"[Cron] Cron job telah dimulai.","timestamp":"2025-10-15 10:18:50"}
{"level":"info","message":"[Cron] Cron job dihentikan","timestamp":"2025-10-15 10:18:54"}
{"level":"info","message":"[Cron] Cron job dimulai","timestamp":"2025-10-15 10:18:54"}
{"level":"info","message":"[Cron] Cron job direstart","timestamp":"2025-10-15 10:18:54"}
{"level":"info","message":"[Cron] Cron job telah dimulai ulang.","timestamp":"2025-10-15 10:18:54"}
{"level":"info","message":"[Cron Job] Memulai pengiriman invoice yang belum terkirim.","timestamp":"2025-10-15 10:19:00"}
{"level":"info","message":"[Cron Job] Pengiriman invoice selesai. Durasi: 34 ms.","timestamp":"2025-10-15 10:19:00"}
{"level":"info","message":"[Cron Job] Memulai pengiriman invoice yang belum terkirim.","timestamp":"2025-10-15 10:20:00"}
{"level":"info","message":"[Cron Job] Pengiriman invoice selesai. Durasi: 200 ms.","timestamp":"2025-10-15 10:20:00"}
{"level":"info","message":"[Cron] Cron job dihentikan","timestamp":"2025-10-15 10:20:27"}
{"level":"info","message":"[Cron] Cron job dimulai","timestamp":"2025-10-15 10:20:27"}
{"level":"info","message":"[Cron] Cron job direstart","timestamp":"2025-10-15 10:20:27"}
{"level":"info","message":"[Cron] Cron job telah dimulai ulang.","timestamp":"2025-10-15 10:20:27"}
{"level":"info","message":"[Cron] Cron job dihentikan","timestamp":"2025-10-15 10:20:29"}
{"level":"info","message":"[Cron] Cron job telah dihentikan.","timestamp":"2025-10-15 10:20:29"}
{"level":"info","message":"Index Page Index Page di akses oleh ::1","timestamp":"2025-10-15 10:36:02"}
{"level":"info","message":"Index Page Index Page di akses oleh ::1","timestamp":"2025-10-15 10:38:23"}
{"level":"info","message":"Index Page Index Page di akses oleh ::1","timestamp":"2025-10-15 10:50:28"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 10:51:15"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 10:51:16"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 10:51:20"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 10:51:26"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 10:51:42"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 10:51:44"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 10:51:48"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 10:51:52"}
{"error":{"name":"SequelizeEagerLoadingError"},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 invoicedetails is associated to invoice using an alias. You've included an alias (invoicedetail), but it does not match the alias(es) defined in your association (invoiceDetails).","stack":"SequelizeEagerLoadingError: invoicedetails is associated to invoice using an alias. You've included an alias (invoicedetail), but it does not match the alias(es) defined in your association (invoiceDetails).\n    at invoice._getIncludedAssociation (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:574:15)\n    at invoice._validateIncludedElement (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:502:53)\n    at E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:421:37\n    at Array.map (<anonymous>)\n    at invoice._validateIncludedElements (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:417:39)\n    at invoice.findAll (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:1124:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async invoice.findOne (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:1240:12)\n    at async debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:219:25)","timestamp":"2025-10-15 10:51:53"}
{"error":{"name":"SequelizeEagerLoadingError"},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 90 invoicedetails is associated to invoice using an alias. You've included an alias (invoicedetail), but it does not match the alias(es) defined in your association (invoiceDetails).","stack":"SequelizeEagerLoadingError: invoicedetails is associated to invoice using an alias. You've included an alias (invoicedetail), but it does not match the alias(es) defined in your association (invoiceDetails).\n    at invoice._getIncludedAssociation (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:574:15)\n    at invoice._validateIncludedElement (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:502:53)\n    at E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:421:37\n    at Array.map (<anonymous>)\n    at invoice._validateIncludedElements (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:417:39)\n    at invoice.findAll (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:1124:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async invoice.findOne (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\sequelize@6.37.3_mysql2@3.11.2\\node_modules\\sequelize\\lib\\model.js:1240:12)\n    at async debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:219:25)","timestamp":"2025-10-15 10:52:04"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 10:52:55"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 10:52:57"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 10:53:03"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 10:53:08"}
{"error":{"path":"E:\\dev\\nodejs\\invoiceGenerate\\views\\invoice.ejs"},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 E:\\dev\\nodejs\\invoiceGenerate\\views\\invoice.ejs:117\n    115|                 </td>\r\n    116|                 <td style=\"text-align: right;\">\r\n >> 117|                     <% if(inv_status == 'Paid') { %>\r\n    118|                         <span class=\"paid-label\">Paid</span>\r\n    119|                     <% } else { %>\r\n    120|                         <span class=\"paid-label\" style=\"color: red !important;\">UnPaid</span>\r\n\ninv_status is not defined","stack":"ReferenceError: E:\\dev\\nodejs\\invoiceGenerate\\views\\invoice.ejs:117\n    115|                 </td>\r\n    116|                 <td style=\"text-align: right;\">\r\n >> 117|                     <% if(inv_status == 'Paid') { %>\r\n    118|                         <span class=\"paid-label\">Paid</span>\r\n    119|                     <% } else { %>\r\n    120|                         <span class=\"paid-label\" style=\"color: red !important;\">UnPaid</span>\r\n\ninv_status is not defined\n    at eval (eval at compile (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:633:12), <anonymous>:14:8)\n    at returnedFn (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:668:17)\n    at E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:240:40\n    at new Promise (<anonymous>)\n    at tryHandleCache (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:238:14)\n    at exports.renderFile (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:485:10)\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:249:39)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:53:11"}
{"error":{"path":"E:\\dev\\nodejs\\invoiceGenerate\\views\\invoice.ejs"},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 E:\\dev\\nodejs\\invoiceGenerate\\views\\invoice.ejs:117\n    115|                 </td>\r\n    116|                 <td style=\"text-align: right;\">\r\n >> 117|                     <% if(inv_status == 'Paid') { %>\r\n    118|                         <span class=\"paid-label\">Paid</span>\r\n    119|                     <% } else { %>\r\n    120|                         <span class=\"paid-label\" style=\"color: red !important;\">UnPaid</span>\r\n\ninv_status is not defined","stack":"ReferenceError: E:\\dev\\nodejs\\invoiceGenerate\\views\\invoice.ejs:117\n    115|                 </td>\r\n    116|                 <td style=\"text-align: right;\">\r\n >> 117|                     <% if(inv_status == 'Paid') { %>\r\n    118|                         <span class=\"paid-label\">Paid</span>\r\n    119|                     <% } else { %>\r\n    120|                         <span class=\"paid-label\" style=\"color: red !important;\">UnPaid</span>\r\n\ninv_status is not defined\n    at eval (eval at compile (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:633:12), <anonymous>:14:8)\n    at returnedFn (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:668:17)\n    at E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:240:40\n    at new Promise (<anonymous>)\n    at tryHandleCache (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:238:14)\n    at exports.renderFile (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:485:10)\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:249:39)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:53:15"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 10:55:03"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 10:55:04"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 10:55:07"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 10:55:11"}
{"error":{},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 moment is not defined","stack":"ReferenceError: moment is not defined\n    at formatInvoiceResponse (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:223:23)\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:282:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:55:12"}
{"error":{},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 moment is not defined","stack":"ReferenceError: moment is not defined\n    at formatInvoiceResponse (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:223:23)\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:282:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:55:16"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 10:55:46"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 10:55:48"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 10:55:51"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 10:55:55"}
{"error":{"code":"ERR_INVALID_ARG_TYPE"},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 The \"path\" argument must be of type string or an instance of Buffer or URL. Received an instance of Object","stack":"TypeError [ERR_INVALID_ARG_TYPE]: The \"path\" argument must be of type string or an instance of Buffer or URL. Received an instance of Object\n    at Object.openSync (node:fs:572:10)\n    at Object.readFileSync [as fileLoader] (node:fs:453:35)\n    at fileLoader (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:273:18)\n    at handleCache (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:213:16)\n    at E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:240:20\n    at new Promise (<anonymous>)\n    at tryHandleCache (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:238:14)\n    at exports.renderFile (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:485:10)\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:303:39)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:55:55"}
{"error":{"code":"ERR_INVALID_ARG_TYPE"},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 The \"path\" argument must be of type string or an instance of Buffer or URL. Received an instance of Object","stack":"TypeError [ERR_INVALID_ARG_TYPE]: The \"path\" argument must be of type string or an instance of Buffer or URL. Received an instance of Object\n    at Object.openSync (node:fs:572:10)\n    at Object.readFileSync [as fileLoader] (node:fs:453:35)\n    at fileLoader (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:273:18)\n    at handleCache (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:213:16)\n    at E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:240:20\n    at new Promise (<anonymous>)\n    at tryHandleCache (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:238:14)\n    at exports.renderFile (E:\\dev\\nodejs\\invoiceGenerate\\node_modules\\.pnpm\\ejs@2.6.2\\node_modules\\ejs\\lib\\ejs.js:485:10)\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:303:39)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:56:01"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 10:58:29"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 10:58:31"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 10:58:34"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 10:58:40"}
{"error":{},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 path is not defined","stack":"ReferenceError: path is not defined\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:288:30)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:58:41"}
{"error":{},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 path is not defined","stack":"ReferenceError: path is not defined\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:288:30)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 10:58:45"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 11:00:04"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 11:00:05"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 11:00:09"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 11:00:14"}
{"error":{},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 ejs is not defined","stack":"ReferenceError: ejs is not defined\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:290:29)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 11:00:15"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 11:02:09"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 11:02:11"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 11:02:14"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 11:02:19"}
{"level":"info","message":"[Debug Screenshot] Launching Puppeteer for invoice 91","timestamp":"2025-10-15 11:02:19"}
{"error":{},"level":"error","message":"[Debug HTML] Error generating HTML for invoice 91 puppeteer is not defined","stack":"ReferenceError: puppeteer is not defined\n    at debugInvoiceHtml (E:\\dev\\nodejs\\invoiceGenerate\\controllers\\invoiceController.js:296:9)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)","timestamp":"2025-10-15 11:02:19"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 11:03:26"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 11:03:28"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 11:03:31"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 11:03:36"}
{"level":"info","message":"[Debug Screenshot] Launching Puppeteer for invoice 91","timestamp":"2025-10-15 11:03:36"}
{"level":"info","message":"[Debug Screenshot] Screenshot generated for invoice 91","timestamp":"2025-10-15 11:03:40"}
{"level":"info","message":"[Debug Screenshot] Launching Puppeteer for invoice 91","timestamp":"2025-10-15 11:03:49"}
{"level":"info","message":"[Debug Screenshot] Screenshot generated for invoice 91","timestamp":"2025-10-15 11:03:55"}
{"level":"info","message":"SHUTDOWN_SIGNAL_RECEIVED Menerima sinyal SIGINT (Ctrl+C). Melakukan graceful shutdown.","timestamp":"2025-10-15 11:05:40"}
{"level":"info","message":"APPLICATION_SHUTDOWN_COMPLETE Aplikasi berhasil dimatikan.","timestamp":"2025-10-15 11:05:42"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 11:05:44"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 11:05:49"}
{"level":"info","message":"[Debug Screenshot] Launching Puppeteer for invoice 91","timestamp":"2025-10-15 11:05:49"}
{"level":"info","message":"[Debug Screenshot] Screenshot generated for invoice 91","timestamp":"2025-10-15 11:05:53"}
{"level":"info","message":"LOGGER_INITIALIZED Winston logger berhasil diinisialisasi.","timestamp":"2025-10-15 16:41:28"}
{"level":"info","message":"PROCESS_HANDLERS_INITIALIZED Global process handlers telah diinisialisasi.","timestamp":"2025-10-15 16:42:38"}
{"level":"info","message":"Index Page Index Page di akses oleh ::1","timestamp":"2025-10-15 16:42:57"}
