mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 00:26:30 +00:00
Remove remaining vestiges of Logger support in ConfigDB/TransferTask
This commit is contained in:
parent
e0afb2c093
commit
3a8420b141
3 changed files with 3 additions and 98 deletions
|
@ -13,13 +13,6 @@ defmodule Pleroma.Config.TransferTask do
|
||||||
|
|
||||||
@type env() :: :test | :benchmark | :dev | :prod
|
@type env() :: :test | :benchmark | :dev | :prod
|
||||||
|
|
||||||
@add_backend if Version.match?(System.version(), "< 1.15.0-rc.0"),
|
|
||||||
do: &Logger.add_backend/1,
|
|
||||||
else: &LoggerBackends.add/1
|
|
||||||
@remove_backend if Version.match?(System.version(), "< 1.15.0-rc.0"),
|
|
||||||
do: &Logger.remove_backend/1,
|
|
||||||
else: &LoggerBackends.remove/1
|
|
||||||
|
|
||||||
defp reboot_time_keys,
|
defp reboot_time_keys,
|
||||||
do: [
|
do: [
|
||||||
{:pleroma, :hackney_pools},
|
{:pleroma, :hackney_pools},
|
||||||
|
@ -51,14 +44,9 @@ defmodule Pleroma.Config.TransferTask do
|
||||||
with {_, true} <- {:configurable, Config.get(:configurable_from_database)} do
|
with {_, true} <- {:configurable, Config.get(:configurable_from_database)} do
|
||||||
# We need to restart applications for loaded settings take effect
|
# We need to restart applications for loaded settings take effect
|
||||||
|
|
||||||
{logger, other} =
|
settings =
|
||||||
(Repo.all(ConfigDB) ++ deleted_settings)
|
(Repo.all(ConfigDB) ++ deleted_settings)
|
||||||
|> Enum.map(&merge_with_default/1)
|
|> Enum.map(&merge_with_default/1)
|
||||||
|> Enum.split_with(fn {group, _, _, _} -> group in [:logger] end)
|
|
||||||
|
|
||||||
logger
|
|
||||||
|> Enum.sort()
|
|
||||||
|> Enum.each(&configure/1)
|
|
||||||
|
|
||||||
started_applications = Application.started_applications()
|
started_applications = Application.started_applications()
|
||||||
|
|
||||||
|
@ -71,7 +59,7 @@ defmodule Pleroma.Config.TransferTask do
|
||||||
[:pleroma | reject]
|
[:pleroma | reject]
|
||||||
end
|
end
|
||||||
|
|
||||||
other
|
settings
|
||||||
|> Enum.map(&update/1)
|
|> Enum.map(&update/1)
|
||||||
|> Enum.uniq()
|
|> Enum.uniq()
|
||||||
|> Enum.reject(&(&1 in reject))
|
|> Enum.reject(&(&1 in reject))
|
||||||
|
@ -109,42 +97,6 @@ defmodule Pleroma.Config.TransferTask do
|
||||||
{group, key, value, merged}
|
{group, key, value, merged}
|
||||||
end
|
end
|
||||||
|
|
||||||
# change logger configuration in runtime, without restart
|
|
||||||
defp configure({_, :backends, _, merged}) do
|
|
||||||
# removing current backends
|
|
||||||
Enum.each(Application.get_env(:logger, :backends), @remove_backend)
|
|
||||||
|
|
||||||
Enum.each(merged, @add_backend)
|
|
||||||
|
|
||||||
:ok = update_env(:logger, :backends, merged)
|
|
||||||
end
|
|
||||||
|
|
||||||
defp configure({_, key, _, merged})
|
|
||||||
when key in [:console, Logger.Backends.Console, :ex_syslogger] do
|
|
||||||
backend =
|
|
||||||
case key do
|
|
||||||
:ex_syslogger -> {ExSyslogger, :ex_syslogger}
|
|
||||||
:console -> Logger.Backends.Console
|
|
||||||
Logger.Backends.Console -> Logger.Backends.Console
|
|
||||||
key -> key
|
|
||||||
end
|
|
||||||
|
|
||||||
merged =
|
|
||||||
if backend == Logger.Backends.Console do
|
|
||||||
put_in(merged[:format], merged[:format] <> "\n")
|
|
||||||
else
|
|
||||||
merged
|
|
||||||
end
|
|
||||||
|
|
||||||
Logger.configure_backend(backend, merged)
|
|
||||||
:ok = update_env(:logger, key, merged)
|
|
||||||
end
|
|
||||||
|
|
||||||
defp configure({_, key, _, merged}) do
|
|
||||||
Logger.configure([{key, merged}])
|
|
||||||
:ok = update_env(:logger, key, merged)
|
|
||||||
end
|
|
||||||
|
|
||||||
defp update({group, key, value, merged}) do
|
defp update({group, key, value, merged}) do
|
||||||
try do
|
try do
|
||||||
:ok = update_env(group, key, merged)
|
:ok = update_env(group, key, merged)
|
||||||
|
|
|
@ -165,8 +165,7 @@ defmodule Pleroma.ConfigDB do
|
||||||
{:pleroma, :ecto_repos},
|
{:pleroma, :ecto_repos},
|
||||||
{:mime, :types},
|
{:mime, :types},
|
||||||
{:cors_plug, [:max_age, :methods, :expose, :headers]},
|
{:cors_plug, [:max_age, :methods, :expose, :headers]},
|
||||||
{:swarm, :node_blacklist},
|
{:swarm, :node_blacklist}
|
||||||
{:logger, :backends}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
Enum.any?(full_key_update, fn
|
Enum.any?(full_key_update, fn
|
||||||
|
|
|
@ -609,52 +609,6 @@ defmodule Pleroma.Web.AdminAPI.ConfigControllerTest do
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
test "saving full setting if value is in full_key_update list", %{conn: conn} do
|
|
||||||
backends = Application.get_env(:logger, :backends)
|
|
||||||
on_exit(fn -> Application.put_env(:logger, :backends, backends) end)
|
|
||||||
|
|
||||||
insert(:config,
|
|
||||||
group: :logger,
|
|
||||||
key: :backends,
|
|
||||||
value: []
|
|
||||||
)
|
|
||||||
|
|
||||||
Pleroma.Config.TransferTask.load_and_update_env([], false)
|
|
||||||
|
|
||||||
assert Application.get_env(:logger, :backends) == []
|
|
||||||
|
|
||||||
conn =
|
|
||||||
conn
|
|
||||||
|> put_req_header("content-type", "application/json")
|
|
||||||
|> post("/api/pleroma/admin/config", %{
|
|
||||||
configs: [
|
|
||||||
%{
|
|
||||||
group: ":logger",
|
|
||||||
key: ":backends",
|
|
||||||
value: [":console"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
|
|
||||||
assert json_response_and_validate_schema(conn, 200) == %{
|
|
||||||
"configs" => [
|
|
||||||
%{
|
|
||||||
"group" => ":logger",
|
|
||||||
"key" => ":backends",
|
|
||||||
"value" => [
|
|
||||||
":console"
|
|
||||||
],
|
|
||||||
"db" => [":backends"]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"need_reboot" => false
|
|
||||||
}
|
|
||||||
|
|
||||||
assert Application.get_env(:logger, :backends) == [
|
|
||||||
:console
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
test "saving full setting if value is not keyword", %{conn: conn} do
|
test "saving full setting if value is not keyword", %{conn: conn} do
|
||||||
insert(:config,
|
insert(:config,
|
||||||
group: :tesla,
|
group: :tesla,
|
||||||
|
|
Loading…
Reference in a new issue