Skip to content

Commit 1112d7c

Browse files
authored
feat: add ENV var to configure log file path (#2127)
1 parent 256e873 commit 1112d7c

File tree

6 files changed

+19
-22
lines changed

6 files changed

+19
-22
lines changed

config/config.exs

-10
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,6 @@ config :ae_mdw, AeMdwWeb.WebsocketEndpoint,
5959

6060
config :ae_mdw, AeMdwWeb.Websocket.Subscriptions, max_subs_per_conn: 10_000
6161

62-
# Logging
63-
config :logger,
64-
backends: [:console, {LoggerFileBackend, :info}]
65-
66-
config :logger, :info,
67-
path: "#{Path.join(File.cwd!(), "log/info.log")}",
68-
metadata: [:request_id],
69-
format: "$date $time $metadata[$level] $message\n",
70-
sync_threshold: 100
71-
7262
config :logger_json, :backend, json_encoder: Jason
7363

7464
# API

config/dev.exs

-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ config :ae_mdw, AeMdwWeb.Endpoint,
1212
debug_errors: true,
1313
live_view: [signing_salt: "btmQfEtjXdzpKeXzQ1kfVAJmc0gPU/pX"]
1414

15-
# Logging
16-
config :logger,
17-
backends: [{LoggerFileBackend, :info}]
18-
1915
# Phoenix
2016
config :phoenix, :stacktrace_depth, 20
2117
config :phoenix, :plug_init_mode, :runtime

config/runtime.exs

+17-4
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,26 @@ log_level =
2525
"notice" -> :notice
2626
"info" -> :info
2727
"debug" -> :debug
28-
_level -> nil
28+
_level -> :debug
2929
end
3030

3131
enable_json_log = System.get_env("ENABLE_JSON_LOG", "false") in ["true", "1"]
3232
enable_console_log = System.get_env("ENABLE_CONSOLE_LOG", "false") in ["true", "1"]
3333

34-
base_logger_backends = Application.get_env(:logger, :backends, [])
34+
log_file_path =
35+
(System.get_env("LOG_FILE_PATH") ||
36+
Path.join(File.cwd!(), "log/info.log"))
37+
|> Path.expand()
38+
39+
config :logger, :info,
40+
path: log_file_path,
41+
metadata: [:request_id],
42+
format: "$date $time $metadata[$level] $message\n"
43+
44+
base_logger_backends =
45+
:logger
46+
|> Application.get_env(:backends, [])
47+
|> Kernel.++([{LoggerFileBackend, :info}])
3548

3649
logger_backends =
3750
if enable_console_log,
@@ -72,7 +85,7 @@ if env != :test do
7285
]
7386

7487
config :logger,
75-
level: log_level || :info,
88+
level: log_level,
7689
backends: logger_backends
7790
end
7891

@@ -99,7 +112,7 @@ if env in [:test, :prod] do
99112
logger_backends = [LoggerJSON | logger_backends]
100113

101114
config :logger,
102-
level: log_level || :info,
115+
level: log_level,
103116
backends: logger_backends
104117

105118
formatter = System.get_env("JSON_LOG_FORMAT", "datadog")

config/test.exs

-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ config :ae_mdw, AeMdwWeb.Websocket.Subscriptions, max_subs_per_conn: 10
4040
# Logging
4141
config :logger, level: :warn
4242

43-
config :logger,
44-
backends: [{LoggerFileBackend, :info}]
45-
4643
# Stat
4744
config :ae_mdw, build_revision: "abcd1234"
4845

mix.exs

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ defmodule AeMdw.MixProject do
9999
:aetx_sign,
100100
:aeu_env,
101101
:aeu_info,
102+
:aeu_logging_env,
102103
:aeu_mtrees,
103104
:aeu_time,
104105
:app_ctrl,

mix.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"},
3030
"jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"},
3131
"jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm", "fc3499fed7a726995aa659143a248534adc754ebd16ccd437cd93b649a95091f"},
32-
"logger_file_backend": {:hex, :logger_file_backend, "0.0.13", "df07b14970e9ac1f57362985d76e6f24e3e1ab05c248055b7d223976881977c2", [:mix], [], "hexpm", "71a453a7e6e899ae4549fb147b1c6621f4233f8f48f58ca10a64ec67b6c50018"},
32+
"logger_file_backend": {:hex, :logger_file_backend, "0.0.14", "774bb661f1c3fed51b624d2859180c01e386eb1273dc22de4f4a155ef749a602", [:mix], [], "hexpm", "071354a18196468f3904ef09413af20971d55164267427f6257b52cfba03f9e6"},
3333
"logger_json": {:hex, :logger_json, "5.1.2", "7dde5f6dff814aba033f045a3af9408f5459bac72357dc533276b47045371ecf", [:mix], [{:ecto, "~> 2.1 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, ">= 1.5.0", [hex: :phoenix, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "ed42047e5c57a60d0fa1450aef36bc016d0f9a5e6c0807ebb0c03d8895fb6ebc"},
3434
"meck": {:hex, :meck, "0.9.2", "85ccbab053f1db86c7ca240e9fc718170ee5bda03810a6292b5306bf31bae5f5", [:rebar3], [], "hexpm", "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"},
3535
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},

0 commit comments

Comments
 (0)