{"level":"info","message":"Redis not configured or running in test mode, caching disabled","timestamp":"2026-07-16T15:21:15.528Z"}
{"level":"info","message":"Server running on port 3000","timestamp":"2026-07-16T15:21:23.704Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:22:00.459Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:22:00.811Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:22:00.818Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:22:00.823Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:23:00.531Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:23:00.577Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:23:00.580Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:23:00.582Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:24:00.602Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:24:00.652Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:24:00.656Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:24:00.659Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T15:25:00.671Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:25:00.676Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:25:00.720Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:25:00.722Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:25:00.724Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:26:00.753Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:26:00.796Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:26:00.798Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:26:00.800Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:27:00.817Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:27:01.850Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:27:01.853Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:27:01.855Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:28:00.713Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:28:00.753Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:28:00.756Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:28:00.757Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:29:00.719Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:29:00.762Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:29:00.765Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:29:00.768Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T15:30:00.794Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:30:00.798Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:30:00.838Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:30:00.841Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:30:00.843Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:31:00.891Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:31:00.931Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:31:00.933Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:31:00.935Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:32:00.962Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:32:01.046Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:32:01.048Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:32:01.051Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:33:00.043Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:33:00.084Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:33:00.087Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:33:00.089Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:34:00.117Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:34:01.116Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:34:01.119Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:34:01.121Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T15:35:00.191Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:35:01.075Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:35:03.385Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:35:03.387Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:35:03.390Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:36:00.820Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:36:01.225Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:36:01.227Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:36:01.229Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:37:00.894Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:37:00.933Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:37:00.934Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:37:00.936Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:38:00.703Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:38:00.749Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:38:00.752Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:38:00.754Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:39:00.781Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:39:00.821Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:39:00.822Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:39:00.824Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T15:40:00.851Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:40:00.855Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:40:00.897Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:40:00.898Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:40:00.900Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:41:00.928Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:41:00.968Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:41:00.970Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:41:00.972Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:42:01.002Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:42:02.010Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:42:02.012Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:42:02.014Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:43:00.080Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:43:00.117Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:43:00.119Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:43:00.121Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:44:00.155Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:44:00.195Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:44:00.197Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:44:00.198Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T15:45:02.610Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:45:04.464Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:45:04.513Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:45:04.515Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:45:04.516Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:46:00.543Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:46:00.590Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:46:00.591Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:46:00.593Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:47:00.616Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:47:02.122Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:47:02.125Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:47:02.126Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:48:00.177Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:48:00.230Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:48:00.232Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:48:00.233Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:49:00.249Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:49:00.292Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:49:00.294Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:49:00.296Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T15:50:01.299Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:50:01.304Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:50:01.349Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:50:01.351Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:50:01.353Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:51:00.382Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:51:00.428Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:51:00.430Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:51:00.432Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:52:00.475Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:52:00.514Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:52:00.516Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:52:00.518Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:53:00.548Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:53:00.587Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:53:00.589Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:53:00.590Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:54:00.631Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:54:00.685Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:54:00.689Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:54:00.691Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T15:55:00.145Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:55:00.150Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:55:00.186Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:55:00.187Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:55:00.189Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:56:00.220Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:56:00.257Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:56:00.258Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:56:00.260Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:57:00.292Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:57:00.333Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:57:00.336Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:57:00.339Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:58:00.370Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:58:00.411Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:58:00.414Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:58:00.415Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T15:59:00.439Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T15:59:00.688Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T15:59:00.689Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T15:59:00.691Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:00:00.513Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:00:00.517Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:00:00.557Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:00:00.559Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:00:00.560Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:01:00.592Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:01:00.631Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:01:00.632Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:01:00.633Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:02:00.672Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:02:01.589Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:02:01.591Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:02:01.593Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:03:00.736Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:03:02.744Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:03:02.746Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:03:02.748Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:04:00.810Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:04:00.845Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:04:00.847Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:04:00.849Z"}
{"error":"delete from `user_2fa_code` where `expires_at` <= CURRENT_TIMESTAMP - write EPIPE","level":"error","message":"Failed to clean expired OTPs","timestamp":"2026-07-16T16:05:09.008Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:06:00.073Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:06:00.142Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:06:00.144Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:06:00.146Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:07:00.132Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:07:00.167Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:07:00.169Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:07:00.170Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:08:00.192Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:08:00.228Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:08:00.230Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:08:00.231Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:09:00.260Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:09:01.072Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:09:01.074Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:09:01.076Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:10:00.334Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:10:00.336Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:10:00.381Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:10:00.383Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:10:00.385Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:11:00.391Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:11:00.437Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:11:00.439Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:11:00.440Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:12:00.452Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:12:01.379Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:12:01.381Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:12:01.384Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:13:00.516Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:13:00.559Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:13:00.561Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:13:00.563Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:14:00.579Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:14:00.650Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:14:00.652Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:14:00.656Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:15:05.488Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:15:07.088Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:15:07.134Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:15:07.137Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:15:07.139Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:16:00.147Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:16:00.186Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:16:00.187Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:16:00.189Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:17:00.208Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:17:00.259Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:17:00.260Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:17:00.262Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:18:00.270Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:18:00.307Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:18:00.309Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:18:00.311Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:19:00.336Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:19:00.374Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:19:00.376Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:19:00.377Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:20:00.392Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:20:00.394Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:20:00.441Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:20:00.443Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:20:00.446Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:21:00.447Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:21:00.488Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:21:00.490Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:21:00.491Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:22:00.510Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:22:00.547Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:22:00.549Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:22:00.550Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:23:00.577Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:23:00.625Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:23:00.627Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:23:00.628Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:24:00.648Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:24:00.691Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:24:00.693Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:24:00.694Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:25:06.897Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:25:06.899Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:25:06.935Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:25:06.936Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:25:06.938Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:26:00.962Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:26:01.003Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:26:01.004Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:26:01.006Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:27:00.027Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:27:00.072Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:27:00.074Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:27:00.075Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:28:00.093Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:28:00.131Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:28:00.132Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:28:00.134Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:29:00.167Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:29:00.203Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:29:00.205Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:29:00.206Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:30:00.247Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:30:00.248Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:30:00.286Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:30:00.288Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:30:00.290Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:31:00.312Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:31:00.351Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:31:00.353Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:31:00.354Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:32:00.383Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:32:00.435Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:32:00.442Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:32:00.444Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:33:00.450Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:33:00.500Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:33:00.502Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:33:00.503Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:34:00.518Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:34:06.863Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:34:06.866Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:34:06.868Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:35:03.023Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:35:03.026Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:35:03.064Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:35:03.066Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:35:03.068Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:36:00.102Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:36:00.139Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:36:00.140Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:36:00.142Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:37:00.164Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:37:00.202Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:37:00.204Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:37:00.206Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:39:00.291Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:39:00.327Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:39:00.328Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:39:00.331Z"}
{"level":"info","message":"Expired OTPs cleanup executed","timestamp":"2026-07-16T16:40:00.366Z"}
{"level":"error","message":"Failed to parse cron expression cronParser.parseExpression is not a function","timestamp":"2026-07-16T16:40:00.371Z"}
{"level":"info","message":"Connecté à la boîte mail.","timestamp":"2026-07-16T16:40:00.405Z"}
{"level":"info","message":"Trouvé 0 e-mail(s) non lu(s).","timestamp":"2026-07-16T16:40:00.407Z"}
{"level":"info","message":"Déconnexion du serveur IMAP.","timestamp":"2026-07-16T16:40:00.408Z"}
