From 031b0e563af068eba2cccb8c01651baf52287e3b Mon Sep 17 00:00:00 2001 From: connor rigby Date: Fri, 9 Feb 2018 11:17:37 -0800 Subject: [PATCH 1/2] Clean up logs --- lib/farmbot/repo/repo.ex | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/farmbot/repo/repo.ex b/lib/farmbot/repo/repo.ex index ced92d9e..b842c53d 100644 --- a/lib/farmbot/repo/repo.ex +++ b/lib/farmbot/repo/repo.ex @@ -411,9 +411,10 @@ defmodule Farmbot.Repo do def do_get_resource(resource, slug) do resource = Module.split(resource) |> List.last() - Logger.debug(3, "[#{resource}] Downloading: (#{slug})") + Logger.debug 3, "Fetching #{resource}" + maybe_debug_log("[#{resource}] Downloading: (#{slug})") {time, res} = :timer.tc(fn -> Farmbot.HTTP.get(slug) end) - Logger.debug(3, "[#{resource}] HTTP Request took: #{time}µs") + maybe_debug_log("[#{resource}] HTTP Request took: #{time}µs") res end @@ -435,14 +436,14 @@ defmodule Farmbot.Repo do defp sync_resource(repo, resource, cache) do human_readable_resource_name = Module.split(resource) |> List.last() - Logger.debug(3, "[#{human_readable_resource_name}] Entering into DB.") + maybe_debug_log("[#{human_readable_resource_name}] Entering into DB.") as = if resource in @singular_resources, do: struct(resource), else: [struct(resource)] with {:ok, %{status_code: 200, body: body}} <- cache[resource], {json_time, {:ok, obj_or_list}} <- :timer.tc(fn -> Poison.decode(body, as: as) end) do - Logger.debug(3, "[#{human_readable_resource_name}] JSON Decode took: #{json_time}µs") + maybe_debug_log("[#{human_readable_resource_name}] JSON Decode took: #{json_time}µs") {insert_time, res} = :timer.tc(fn -> do_insert_or_update(repo, obj_or_list) end) - Logger.debug(3, "[#{human_readable_resource_name}] DB Operations took: #{insert_time}µs") + maybe_debug_log("[#{human_readable_resource_name}] DB Operations took: #{insert_time}µs") case res do {:ok, _} when resource in @singular_resources -> :ok :ok -> :ok @@ -495,6 +496,22 @@ defmodule Farmbot.Repo do end end + def enable_debug_logs do + Application.put_env(:farmbot, :repo_debug_logs, true) + end + + def disable_debug_logs do + Application.put_env(:farmbot, :repo_debug_logs, false) + end + + defp maybe_debug_log(msg) do + if Application.get_env(:farmbot, :repo_debug_logs, false) do + Logger.debug 3, msg + else + :ok + end + end + @doc false defmacro __using__(_) do quote do From 2fdf8dc7665b2daf8822d8e9aca332b35cc23faa Mon Sep 17 00:00:00 2001 From: connor rigby Date: Fri, 9 Feb 2018 11:17:37 -0800 Subject: [PATCH 2/2] Clean up logs --- lib/farmbot/repo/repo.ex | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/farmbot/repo/repo.ex b/lib/farmbot/repo/repo.ex index ced92d9e..b842c53d 100644 --- a/lib/farmbot/repo/repo.ex +++ b/lib/farmbot/repo/repo.ex @@ -411,9 +411,10 @@ defmodule Farmbot.Repo do def do_get_resource(resource, slug) do resource = Module.split(resource) |> List.last() - Logger.debug(3, "[#{resource}] Downloading: (#{slug})") + Logger.debug 3, "Fetching #{resource}" + maybe_debug_log("[#{resource}] Downloading: (#{slug})") {time, res} = :timer.tc(fn -> Farmbot.HTTP.get(slug) end) - Logger.debug(3, "[#{resource}] HTTP Request took: #{time}µs") + maybe_debug_log("[#{resource}] HTTP Request took: #{time}µs") res end @@ -435,14 +436,14 @@ defmodule Farmbot.Repo do defp sync_resource(repo, resource, cache) do human_readable_resource_name = Module.split(resource) |> List.last() - Logger.debug(3, "[#{human_readable_resource_name}] Entering into DB.") + maybe_debug_log("[#{human_readable_resource_name}] Entering into DB.") as = if resource in @singular_resources, do: struct(resource), else: [struct(resource)] with {:ok, %{status_code: 200, body: body}} <- cache[resource], {json_time, {:ok, obj_or_list}} <- :timer.tc(fn -> Poison.decode(body, as: as) end) do - Logger.debug(3, "[#{human_readable_resource_name}] JSON Decode took: #{json_time}µs") + maybe_debug_log("[#{human_readable_resource_name}] JSON Decode took: #{json_time}µs") {insert_time, res} = :timer.tc(fn -> do_insert_or_update(repo, obj_or_list) end) - Logger.debug(3, "[#{human_readable_resource_name}] DB Operations took: #{insert_time}µs") + maybe_debug_log("[#{human_readable_resource_name}] DB Operations took: #{insert_time}µs") case res do {:ok, _} when resource in @singular_resources -> :ok :ok -> :ok @@ -495,6 +496,22 @@ defmodule Farmbot.Repo do end end + def enable_debug_logs do + Application.put_env(:farmbot, :repo_debug_logs, true) + end + + def disable_debug_logs do + Application.put_env(:farmbot, :repo_debug_logs, false) + end + + defp maybe_debug_log(msg) do + if Application.get_env(:farmbot, :repo_debug_logs, false) do + Logger.debug 3, msg + else + :ok + end + end + @doc false defmacro __using__(_) do quote do