{"success":true,"logs":[{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[INFO] Rostro indexado correctamente","data":{"face_id":"FACE-EMP999"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [INFO] Rostro indexado correctamente | {\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[INFO] Insertando empleado en base de datos","data":{"id":"EMP999","nombre":"Juan P\u00e9rez Test","rut":"12345678-9","cargo":"Cajero","email":"test@ejemplo.com","face_id":"FACE-EMP999"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [INFO] Insertando empleado en base de datos | {\"id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"rut\":\"12345678-9\",\"cargo\":\"Cajero\",\"email\":\"test@ejemplo.com\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[INFO] Empleado insertado en BD correctamente","data":{"employee_id":"EMP999"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [INFO] Empleado insertado en BD correctamente | {\"employee_id\":\"EMP999\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[INFO] Marcando sesi\u00f3n como usada","data":{"session_id":"REG-TEST-12345"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [INFO] Marcando sesi\u00f3n como usada | {\"session_id\":\"REG-TEST-12345\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE","data":{"employee_id":"EMP999","nombre":"Juan P\u00e9rez Test","face_id":"FACE-EMP999"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE | {\"employee_id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[INFO] === SIMULANDO ERRORES COMUNES ===","data":null,"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [INFO] === SIMULANDO ERRORES COMUNES ==="},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[ERROR] Datos incompletos en la petici\u00f3n","data":{"sessionId":"OK","appId":"\u274c FALTA","nombre":"OK","rut":"OK","cargo":"\u274c FALTA","email":"OK","foto":"OK"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [ERROR] Datos incompletos en la petici\u00f3n | {\"sessionId\":\"OK\",\"appId\":\"\u274c FALTA\",\"nombre\":\"OK\",\"rut\":\"OK\",\"cargo\":\"\u274c FALTA\",\"email\":\"OK\",\"foto\":\"OK\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[ERROR] Sesi\u00f3n inv\u00e1lida o expirada","data":{"session_id":"REG-EXPIRED-123"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [ERROR] Sesi\u00f3n inv\u00e1lida o expirada | {\"session_id\":\"REG-EXPIRED-123\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[ERROR] RUT duplicado encontrado","data":{"rut":"98765432-1","existing_id":"EMP001","existing_nombre":"Mar\u00eda Gonz\u00e1lez"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [ERROR] RUT duplicado encontrado | {\"rut\":\"98765432-1\",\"existing_id\":\"EMP001\",\"existing_nombre\":\"Mar\u00eda Gonz\u00e1lez\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[ERROR] Email duplicado encontrado","data":{"email":"duplicado@ejemplo.com","existing_id":"EMP002","existing_nombre":"Pedro Silva"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [ERROR] Email duplicado encontrado | {\"email\":\"duplicado@ejemplo.com\",\"existing_id\":\"EMP002\",\"existing_nombre\":\"Pedro Silva\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[ERROR] Error PDO (Base de datos)","data":{"message":"SQLSTATE[42S02]: Base table or view not found","code":"42S02","file":"registrar-rostro.php","line":145},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [ERROR] Error PDO (Base de datos) | {\"message\":\"SQLSTATE[42S02]: Base table or view not found\",\"code\":\"42S02\",\"file\":\"registrar-rostro.php\",\"line\":145}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[WARNING] Error al usar AWS Rekognition, usando face_id mock","data":{"error":"InvalidSignatureException: Signature expired","employee_id":"EMP888"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [WARNING] Error al usar AWS Rekognition, usando face_id mock | {\"error\":\"InvalidSignatureException: Signature expired\",\"employee_id\":\"EMP888\"}"},{"timestamp":"12-Mar-2026 06:38:57 America\/Santiago","level":"2026-03-12 06:38:57","message":"[ERROR] JSON inv\u00e1lido recibido","data":{"json_error":"Syntax error"},"raw":"[12-Mar-2026 06:38:57 America\/Santiago] [2026-03-12 06:38:57] [ERROR] JSON inv\u00e1lido recibido | {\"json_error\":\"Syntax error\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] === INICIO DE PRUEBA DEL SISTEMA DE LOGS ===","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] === INICIO DE PRUEBA DEL SISTEMA DE LOGS ==="},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Sistema iniciado correctamente","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Sistema iniciado correctamente"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Verificando configuraci\u00f3n","data":{"db_host":"posfagotto.cl","db_name":"easyerp","app_id":"AGU001"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Verificando configuraci\u00f3n | {\"db_host\":\"posfagotto.cl\",\"db_name\":\"easyerp\",\"app_id\":\"AGU001\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Simulando registro de empleado","data":{"nombre":"Juan P\u00e9rez Test","rut":"12345678-9","cargo":"Cajero"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Simulando registro de empleado | {\"nombre\":\"Juan P\u00e9rez Test\",\"rut\":\"12345678-9\",\"cargo\":\"Cajero\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Conectando a base de datos...","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Conectando a base de datos..."},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Conexi\u00f3n a BD exitosa","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Conexi\u00f3n a BD exitosa"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Validando sesi\u00f3n","data":{"session_id":"REG-TEST-12345"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Validando sesi\u00f3n | {\"session_id\":\"REG-TEST-12345\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Sesi\u00f3n validada correctamente","data":{"session_id":"REG-TEST-12345","app_id":"AGU001","expires_at":"2026-03-20 10:31:49"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Sesi\u00f3n validada correctamente | {\"session_id\":\"REG-TEST-12345\",\"app_id\":\"AGU001\",\"expires_at\":\"2026-03-20 10:31:49\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Verificando RUT duplicado","data":{"rut":"12345678-9"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Verificando RUT duplicado | {\"rut\":\"12345678-9\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] RUT disponible","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] RUT disponible"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Verificando email duplicado","data":{"email":"test@ejemplo.com"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Verificando email duplicado | {\"email\":\"test@ejemplo.com\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Email disponible","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Email disponible"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Generando ID de empleado...","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Generando ID de empleado..."},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] ID generado","data":{"new_id":"EMP999"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] ID generado | {\"new_id\":\"EMP999\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Iniciando indexaci\u00f3n de rostro en AWS","data":{"employee_id":"EMP999"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Iniciando indexaci\u00f3n de rostro en AWS | {\"employee_id\":\"EMP999\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[WARNING] Clase AWSRekognition no disponible, usando face_id mock","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [WARNING] Clase AWSRekognition no disponible, usando face_id mock"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Rostro indexado correctamente","data":{"face_id":"FACE-EMP999"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Rostro indexado correctamente | {\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Insertando empleado en base de datos","data":{"id":"EMP999","nombre":"Juan P\u00e9rez Test","rut":"12345678-9","cargo":"Cajero","email":"test@ejemplo.com","face_id":"FACE-EMP999"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Insertando empleado en base de datos | {\"id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"rut\":\"12345678-9\",\"cargo\":\"Cajero\",\"email\":\"test@ejemplo.com\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Empleado insertado en BD correctamente","data":{"employee_id":"EMP999"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Empleado insertado en BD correctamente | {\"employee_id\":\"EMP999\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] Marcando sesi\u00f3n como usada","data":{"session_id":"REG-TEST-12345"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] Marcando sesi\u00f3n como usada | {\"session_id\":\"REG-TEST-12345\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE","data":{"employee_id":"EMP999","nombre":"Juan P\u00e9rez Test","face_id":"FACE-EMP999"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE | {\"employee_id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[INFO] === SIMULANDO ERRORES COMUNES ===","data":null,"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [INFO] === SIMULANDO ERRORES COMUNES ==="},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[ERROR] Datos incompletos en la petici\u00f3n","data":{"sessionId":"OK","appId":"\u274c FALTA","nombre":"OK","rut":"OK","cargo":"\u274c FALTA","email":"OK","foto":"OK"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [ERROR] Datos incompletos en la petici\u00f3n | {\"sessionId\":\"OK\",\"appId\":\"\u274c FALTA\",\"nombre\":\"OK\",\"rut\":\"OK\",\"cargo\":\"\u274c FALTA\",\"email\":\"OK\",\"foto\":\"OK\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[ERROR] Sesi\u00f3n inv\u00e1lida o expirada","data":{"session_id":"REG-EXPIRED-123"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [ERROR] Sesi\u00f3n inv\u00e1lida o expirada | {\"session_id\":\"REG-EXPIRED-123\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[ERROR] RUT duplicado encontrado","data":{"rut":"98765432-1","existing_id":"EMP001","existing_nombre":"Mar\u00eda Gonz\u00e1lez"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [ERROR] RUT duplicado encontrado | {\"rut\":\"98765432-1\",\"existing_id\":\"EMP001\",\"existing_nombre\":\"Mar\u00eda Gonz\u00e1lez\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[ERROR] Email duplicado encontrado","data":{"email":"duplicado@ejemplo.com","existing_id":"EMP002","existing_nombre":"Pedro Silva"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [ERROR] Email duplicado encontrado | {\"email\":\"duplicado@ejemplo.com\",\"existing_id\":\"EMP002\",\"existing_nombre\":\"Pedro Silva\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[ERROR] Error PDO (Base de datos)","data":{"message":"SQLSTATE[42S02]: Base table or view not found","code":"42S02","file":"registrar-rostro.php","line":145},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [ERROR] Error PDO (Base de datos) | {\"message\":\"SQLSTATE[42S02]: Base table or view not found\",\"code\":\"42S02\",\"file\":\"registrar-rostro.php\",\"line\":145}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[WARNING] Error al usar AWS Rekognition, usando face_id mock","data":{"error":"InvalidSignatureException: Signature expired","employee_id":"EMP888"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [WARNING] Error al usar AWS Rekognition, usando face_id mock | {\"error\":\"InvalidSignatureException: Signature expired\",\"employee_id\":\"EMP888\"}"},{"timestamp":"20-Mar-2026 10:26:49 America\/Santiago","level":"2026-03-20 10:26:49","message":"[ERROR] JSON inv\u00e1lido recibido","data":{"json_error":"Syntax error"},"raw":"[20-Mar-2026 10:26:49 America\/Santiago] [2026-03-20 10:26:49] [ERROR] JSON inv\u00e1lido recibido | {\"json_error\":\"Syntax error\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] === INICIO DE PRUEBA DEL SISTEMA DE LOGS ===","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] === INICIO DE PRUEBA DEL SISTEMA DE LOGS ==="},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Sistema iniciado correctamente","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Sistema iniciado correctamente"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Verificando configuraci\u00f3n","data":{"db_host":"posfagotto.cl","db_name":"easyerp","app_id":"AGU001"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Verificando configuraci\u00f3n | {\"db_host\":\"posfagotto.cl\",\"db_name\":\"easyerp\",\"app_id\":\"AGU001\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Simulando registro de empleado","data":{"nombre":"Juan P\u00e9rez Test","rut":"12345678-9","cargo":"Cajero"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Simulando registro de empleado | {\"nombre\":\"Juan P\u00e9rez Test\",\"rut\":\"12345678-9\",\"cargo\":\"Cajero\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Conectando a base de datos...","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Conectando a base de datos..."},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Conexi\u00f3n a BD exitosa","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Conexi\u00f3n a BD exitosa"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Validando sesi\u00f3n","data":{"session_id":"REG-TEST-12345"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Validando sesi\u00f3n | {\"session_id\":\"REG-TEST-12345\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Sesi\u00f3n validada correctamente","data":{"session_id":"REG-TEST-12345","app_id":"AGU001","expires_at":"2026-04-05 09:41:15"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Sesi\u00f3n validada correctamente | {\"session_id\":\"REG-TEST-12345\",\"app_id\":\"AGU001\",\"expires_at\":\"2026-04-05 09:41:15\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Verificando RUT duplicado","data":{"rut":"12345678-9"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Verificando RUT duplicado | {\"rut\":\"12345678-9\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] RUT disponible","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] RUT disponible"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Verificando email duplicado","data":{"email":"test@ejemplo.com"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Verificando email duplicado | {\"email\":\"test@ejemplo.com\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Email disponible","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Email disponible"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Generando ID de empleado...","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Generando ID de empleado..."},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] ID generado","data":{"new_id":"EMP999"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] ID generado | {\"new_id\":\"EMP999\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Iniciando indexaci\u00f3n de rostro en AWS","data":{"employee_id":"EMP999"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Iniciando indexaci\u00f3n de rostro en AWS | {\"employee_id\":\"EMP999\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[WARNING] Clase AWSRekognition no disponible, usando face_id mock","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [WARNING] Clase AWSRekognition no disponible, usando face_id mock"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Rostro indexado correctamente","data":{"face_id":"FACE-EMP999"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Rostro indexado correctamente | {\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Insertando empleado en base de datos","data":{"id":"EMP999","nombre":"Juan P\u00e9rez Test","rut":"12345678-9","cargo":"Cajero","email":"test@ejemplo.com","face_id":"FACE-EMP999"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Insertando empleado en base de datos | {\"id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"rut\":\"12345678-9\",\"cargo\":\"Cajero\",\"email\":\"test@ejemplo.com\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Empleado insertado en BD correctamente","data":{"employee_id":"EMP999"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Empleado insertado en BD correctamente | {\"employee_id\":\"EMP999\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] Marcando sesi\u00f3n como usada","data":{"session_id":"REG-TEST-12345"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] Marcando sesi\u00f3n como usada | {\"session_id\":\"REG-TEST-12345\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE","data":{"employee_id":"EMP999","nombre":"Juan P\u00e9rez Test","face_id":"FACE-EMP999"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE | {\"employee_id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[INFO] === SIMULANDO ERRORES COMUNES ===","data":null,"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [INFO] === SIMULANDO ERRORES COMUNES ==="},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[ERROR] Datos incompletos en la petici\u00f3n","data":{"sessionId":"OK","appId":"\u274c FALTA","nombre":"OK","rut":"OK","cargo":"\u274c FALTA","email":"OK","foto":"OK"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [ERROR] Datos incompletos en la petici\u00f3n | {\"sessionId\":\"OK\",\"appId\":\"\u274c FALTA\",\"nombre\":\"OK\",\"rut\":\"OK\",\"cargo\":\"\u274c FALTA\",\"email\":\"OK\",\"foto\":\"OK\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[ERROR] Sesi\u00f3n inv\u00e1lida o expirada","data":{"session_id":"REG-EXPIRED-123"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [ERROR] Sesi\u00f3n inv\u00e1lida o expirada | {\"session_id\":\"REG-EXPIRED-123\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[ERROR] RUT duplicado encontrado","data":{"rut":"98765432-1","existing_id":"EMP001","existing_nombre":"Mar\u00eda Gonz\u00e1lez"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [ERROR] RUT duplicado encontrado | {\"rut\":\"98765432-1\",\"existing_id\":\"EMP001\",\"existing_nombre\":\"Mar\u00eda Gonz\u00e1lez\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[ERROR] Email duplicado encontrado","data":{"email":"duplicado@ejemplo.com","existing_id":"EMP002","existing_nombre":"Pedro Silva"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [ERROR] Email duplicado encontrado | {\"email\":\"duplicado@ejemplo.com\",\"existing_id\":\"EMP002\",\"existing_nombre\":\"Pedro Silva\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[ERROR] Error PDO (Base de datos)","data":{"message":"SQLSTATE[42S02]: Base table or view not found","code":"42S02","file":"registrar-rostro.php","line":145},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [ERROR] Error PDO (Base de datos) | {\"message\":\"SQLSTATE[42S02]: Base table or view not found\",\"code\":\"42S02\",\"file\":\"registrar-rostro.php\",\"line\":145}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[WARNING] Error al usar AWS Rekognition, usando face_id mock","data":{"error":"InvalidSignatureException: Signature expired","employee_id":"EMP888"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [WARNING] Error al usar AWS Rekognition, usando face_id mock | {\"error\":\"InvalidSignatureException: Signature expired\",\"employee_id\":\"EMP888\"}"},{"timestamp":"05-Apr-2026 09:36:15 America\/Santiago","level":"2026-04-05 09:36:15","message":"[ERROR] JSON inv\u00e1lido recibido","data":{"json_error":"Syntax error"},"raw":"[05-Apr-2026 09:36:15 America\/Santiago] [2026-04-05 09:36:15] [ERROR] JSON inv\u00e1lido recibido | {\"json_error\":\"Syntax error\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] === INICIO DE PRUEBA DEL SISTEMA DE LOGS ===","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] === INICIO DE PRUEBA DEL SISTEMA DE LOGS ==="},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Sistema iniciado correctamente","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Sistema iniciado correctamente"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Verificando configuraci\u00f3n","data":{"db_host":"posfagotto.cl","db_name":"easyerp","app_id":"AGU001"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Verificando configuraci\u00f3n | {\"db_host\":\"posfagotto.cl\",\"db_name\":\"easyerp\",\"app_id\":\"AGU001\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Simulando registro de empleado","data":{"nombre":"Juan P\u00e9rez Test","rut":"12345678-9","cargo":"Cajero"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Simulando registro de empleado | {\"nombre\":\"Juan P\u00e9rez Test\",\"rut\":\"12345678-9\",\"cargo\":\"Cajero\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Conectando a base de datos...","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Conectando a base de datos..."},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Conexi\u00f3n a BD exitosa","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Conexi\u00f3n a BD exitosa"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Validando sesi\u00f3n","data":{"session_id":"REG-TEST-12345"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Validando sesi\u00f3n | {\"session_id\":\"REG-TEST-12345\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Sesi\u00f3n validada correctamente","data":{"session_id":"REG-TEST-12345","app_id":"AGU001","expires_at":"2026-04-14 05:14:58"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Sesi\u00f3n validada correctamente | {\"session_id\":\"REG-TEST-12345\",\"app_id\":\"AGU001\",\"expires_at\":\"2026-04-14 05:14:58\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Verificando RUT duplicado","data":{"rut":"12345678-9"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Verificando RUT duplicado | {\"rut\":\"12345678-9\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] RUT disponible","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] RUT disponible"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Verificando email duplicado","data":{"email":"test@ejemplo.com"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Verificando email duplicado | {\"email\":\"test@ejemplo.com\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Email disponible","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Email disponible"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Generando ID de empleado...","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Generando ID de empleado..."},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] ID generado","data":{"new_id":"EMP999"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] ID generado | {\"new_id\":\"EMP999\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Iniciando indexaci\u00f3n de rostro en AWS","data":{"employee_id":"EMP999"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Iniciando indexaci\u00f3n de rostro en AWS | {\"employee_id\":\"EMP999\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[WARNING] Clase AWSRekognition no disponible, usando face_id mock","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [WARNING] Clase AWSRekognition no disponible, usando face_id mock"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Rostro indexado correctamente","data":{"face_id":"FACE-EMP999"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Rostro indexado correctamente | {\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Insertando empleado en base de datos","data":{"id":"EMP999","nombre":"Juan P\u00e9rez Test","rut":"12345678-9","cargo":"Cajero","email":"test@ejemplo.com","face_id":"FACE-EMP999"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Insertando empleado en base de datos | {\"id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"rut\":\"12345678-9\",\"cargo\":\"Cajero\",\"email\":\"test@ejemplo.com\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Empleado insertado en BD correctamente","data":{"employee_id":"EMP999"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Empleado insertado en BD correctamente | {\"employee_id\":\"EMP999\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] Marcando sesi\u00f3n como usada","data":{"session_id":"REG-TEST-12345"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] Marcando sesi\u00f3n como usada | {\"session_id\":\"REG-TEST-12345\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE","data":{"employee_id":"EMP999","nombre":"Juan P\u00e9rez Test","face_id":"FACE-EMP999"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [SUCCESS] \u2705 REGISTRO COMPLETADO EXITOSAMENTE | {\"employee_id\":\"EMP999\",\"nombre\":\"Juan P\u00e9rez Test\",\"face_id\":\"FACE-EMP999\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[INFO] === SIMULANDO ERRORES COMUNES ===","data":null,"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [INFO] === SIMULANDO ERRORES COMUNES ==="},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[ERROR] Datos incompletos en la petici\u00f3n","data":{"sessionId":"OK","appId":"\u274c FALTA","nombre":"OK","rut":"OK","cargo":"\u274c FALTA","email":"OK","foto":"OK"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [ERROR] Datos incompletos en la petici\u00f3n | {\"sessionId\":\"OK\",\"appId\":\"\u274c FALTA\",\"nombre\":\"OK\",\"rut\":\"OK\",\"cargo\":\"\u274c FALTA\",\"email\":\"OK\",\"foto\":\"OK\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[ERROR] Sesi\u00f3n inv\u00e1lida o expirada","data":{"session_id":"REG-EXPIRED-123"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [ERROR] Sesi\u00f3n inv\u00e1lida o expirada | {\"session_id\":\"REG-EXPIRED-123\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[ERROR] RUT duplicado encontrado","data":{"rut":"98765432-1","existing_id":"EMP001","existing_nombre":"Mar\u00eda Gonz\u00e1lez"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [ERROR] RUT duplicado encontrado | {\"rut\":\"98765432-1\",\"existing_id\":\"EMP001\",\"existing_nombre\":\"Mar\u00eda Gonz\u00e1lez\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[ERROR] Email duplicado encontrado","data":{"email":"duplicado@ejemplo.com","existing_id":"EMP002","existing_nombre":"Pedro Silva"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [ERROR] Email duplicado encontrado | {\"email\":\"duplicado@ejemplo.com\",\"existing_id\":\"EMP002\",\"existing_nombre\":\"Pedro Silva\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[ERROR] Error PDO (Base de datos)","data":{"message":"SQLSTATE[42S02]: Base table or view not found","code":"42S02","file":"registrar-rostro.php","line":145},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [ERROR] Error PDO (Base de datos) | {\"message\":\"SQLSTATE[42S02]: Base table or view not found\",\"code\":\"42S02\",\"file\":\"registrar-rostro.php\",\"line\":145}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[WARNING] Error al usar AWS Rekognition, usando face_id mock","data":{"error":"InvalidSignatureException: Signature expired","employee_id":"EMP888"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [WARNING] Error al usar AWS Rekognition, usando face_id mock | {\"error\":\"InvalidSignatureException: Signature expired\",\"employee_id\":\"EMP888\"}"},{"timestamp":"14-Apr-2026 05:09:58 America\/Santiago","level":"2026-04-14 05:09:58","message":"[ERROR] JSON inv\u00e1lido recibido","data":{"json_error":"Syntax error"},"raw":"[14-Apr-2026 05:09:58 America\/Santiago] [2026-04-14 05:09:58] [ERROR] JSON inv\u00e1lido recibido | {\"json_error\":\"Syntax error\"}"}],"total_lines":655,"showing_lines":100,"file_size":91675,"last_modified":"2026-04-14 09:09:58"}