From bbd6f86d56252e04ac40d59479a21c9eeb8aeea2 Mon Sep 17 00:00:00 2001
From: xcexec <hattori.hansa@protonmail.com>
Date: Thu, 17 Oct 2024 10:02:07 +0200
Subject: [PATCH] prod logger

---
 config/prod.exs | 19 +++++++++++++++++--
 mix.exs         |  1 +
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/config/prod.exs b/config/prod.exs
index 718bc6289..2c33f256c 100644
--- a/config/prod.exs
+++ b/config/prod.exs
@@ -10,8 +10,21 @@ config :mobilizon, Mobilizon.Web.Endpoint,
     port: 443
   ]
 
-# Do not print debug messages in production
-config :logger, level: :info
+# Log in production
+config :logger,
+  backends: [:console, {LoggerFileBackend, :error_log}],
+  level: :info
+
+config :logger, :console,
+  format: "$date $time [$level] $metadata$message\n",
+  metadata: [:request_id]
+
+# File backend for errors
+config :logger, :error_log,
+  path: "/var/log/mobilizon/error.log",  # Or wherever you want logs saved
+  level: :error,                         # Adjust level if needed
+  format: "$time $metadata[$level] $message\n",
+  metadata: [:request_id]
 
 # Load all locales in production
 config :mobilizon, :cldr,
@@ -43,3 +56,5 @@ config :mobilizon, :cldr,
     "sv",
     "zh_Hant"
   ]
+
+
diff --git a/mix.exs b/mix.exs
index d5901e806..dd747d2f4 100644
--- a/mix.exs
+++ b/mix.exs
@@ -141,6 +141,7 @@ defmodule Mobilizon.Mixfile do
       {:phoenix, "~> 1.7.0"},
       {:phoenix_pubsub, "~> 2.0"},
       {:phoenix_ecto, "~> 4.0"},
+      {:logger_file_backend, "~> 0.0.12"},
       {:postgrex, ">= 0.17.1"},
       {:phoenix_html, "~> 3.0"},
       {:phoenix_live_view, "~> 0.20.0"},