defmodule Log.Reset.TopSup do use Application use PersistConfig alias __MODULE__ alias Log.Reset.LogPaths.Server alias Log.Reset @spec start(Application.start_type(), term) :: {:ok, pid} def start(_start_type, _start_args = :ok) do [ # Child spec relying on `use GenServer`... {Server, :ok} ] |> Supervisor.start_link(name: TopSup, strategy: :one_for_one) |> tap(&startup_reset/1) end ## Private functions @spec startup_reset(tuple) :: :ok defp startup_reset({:ok, _pid}) do get_env(:levels, :all) |> Reset.reset_logs() end end