diff --git a/config/config.exs b/config/config.exs index e4740c33..59ca4f1b 100644 --- a/config/config.exs +++ b/config/config.exs @@ -11,10 +11,6 @@ config :logger, [ backends: [:console] ] -# 700 bytes / log -# 100,000 logs * 700 bytes ~= 70 megabytes -config :logger_backend_ecto, max_logs: 100000 - # Stop lager redirecting :error_logger messages config :lager, :error_logger_redirect, false diff --git a/config/host/dev.exs b/config/host/dev.exs index 28a0e8a3..28c43df0 100644 --- a/config/host/dev.exs +++ b/config/host/dev.exs @@ -36,10 +36,6 @@ config :farmbot, Farmbot.System.ConfigStorage, loggers: [], database: "tmp/#{Farmbot.System.ConfigStorage}_dev.sqlite3" -config :logger_backend_ecto, LoggerBackendEcto.Repo, - adapter: Sqlite.Ecto2, - database: "tmp/logs.sqlite3" - config :farmbot, :farmware, first_part_farmware_manifest_url: nil config :farmbot, default_server: "https://staging.farm.bot" diff --git a/config/host/test.exs b/config/host/test.exs index bb38af79..edf40780 100644 --- a/config/host/test.exs +++ b/config/host/test.exs @@ -42,8 +42,4 @@ config :farmbot, Farmbot.System.ConfigStorage, [ loggers: [] ] -config :logger_backend_ecto, LoggerBackendEcto.Repo, - adapter: Sqlite.Ecto2, - database: "test_tmp/debug_logs.sqlite3" - config :farmbot, ecto_repos: [Farmbot.Repo, Farmbot.System.ConfigStorage] diff --git a/config/target/dev.exs b/config/target/dev.exs index a183f238..82690e74 100644 --- a/config/target/dev.exs +++ b/config/target/dev.exs @@ -16,12 +16,13 @@ config :farmbot, Farmbot.System.ConfigStorage, loggers: [], database: "/root/config-#{Mix.env()}.sqlite3" -config :logger_backend_ecto, LoggerBackendEcto.Repo, - adapter: Sqlite.Ecto2, - database: "/root/debug_logs.sqlite3" - config :farmbot, ecto_repos: [Farmbot.Repo, Farmbot.System.ConfigStorage] +config :logger, LoggerBackendSqlite, [ + database: "/root/debug_logs.sqlite3", + max_logs: 10000 +] + # Configure your our init system. config :farmbot, :init, [ Farmbot.Target.Leds.AleHandler, diff --git a/config/target/prod.exs b/config/target/prod.exs index c4aa6aeb..11987bb0 100644 --- a/config/target/prod.exs +++ b/config/target/prod.exs @@ -16,11 +16,12 @@ config :farmbot, Farmbot.System.ConfigStorage, loggers: [], database: "/root/config-#{Mix.env()}.sqlite3" -config :logger_backend_ecto, LoggerBackendEcto.Repo, - adapter: Sqlite.Ecto2, - database: "/root/debug_logs.sqlite3" - config :farmbot, ecto_repos: [Farmbot.Repo, Farmbot.System.ConfigStorage] + +config :logger, LoggerBackendSqlite, [ + database: "/root/debug_logs.sqlite3", + max_logs: 10000 +] # Configure your our init system. config :farmbot, :init, [ diff --git a/lib/farmbot/logger/logger.ex b/lib/farmbot/logger/logger.ex index 123dac6d..957e3cc3 100644 --- a/lib/farmbot/logger/logger.ex +++ b/lib/farmbot/logger/logger.ex @@ -6,12 +6,10 @@ defmodule Farmbot.Logger do def how_many_logs do alias IO.ANSI - alias LoggerBackendEcto.{Repo, Log} - import Ecto.Query - count = Repo.one(from f in Log, select: count(f.id)) - total = Application.get_env(:logger_backend_ecto, :max_logs) - size_mb = File.stat!(Repo.config[:database]).size * 1.0e-6 + count = LoggerBackendSqlite.count_logs() + size_mb = LoggerBackendSqlite.stat().size * 1.0e-6 + total = Application.get_env(:logger, LoggerBackendSqlite)[:max_logs] IO.puts [ ANSI.clear(), ANSI.home(), ANSI.blue(), diff --git a/lib/farmbot/system/init/fs_checkup.ex b/lib/farmbot/system/init/fs_checkup.ex index 52237e68..91cfa5ce 100644 --- a/lib/farmbot/system/init/fs_checkup.ex +++ b/lib/farmbot/system/init/fs_checkup.ex @@ -64,8 +64,10 @@ defmodule Farmbot.System.Init.FSCheckup do end defp init_logger_backend_ecto do - Elixir.Logger.add_backend(LoggerBackendEcto) - catch - _ -> Logger.error 1, "Could not start disk." + try do + Elixir.Logger.add_backend(LoggerBackendSqlite) + catch + :exit, _ -> Logger.error 1, "Could not start disk logging." + end end end diff --git a/mix.exs b/mix.exs index 3a05ec49..800da9dd 100644 --- a/mix.exs +++ b/mix.exs @@ -123,7 +123,7 @@ defmodule Farmbot.Mixfile do {:ring_logger, "~> 0.4.1"}, {:bbmustache, "~> 1.5"}, {:apex, "~> 1.2"}, - {:logger_backend_ecto, "~> 1.2"} + {:logger_backend_sqlite, "~> 2.0"} ] end diff --git a/mix.lock.rpi3 b/mix.lock.rpi3 index cfdf1a17..20c46229 100644 --- a/mix.lock.rpi3 +++ b/mix.lock.rpi3 @@ -35,6 +35,7 @@ "lager": {:hex, :lager, "3.5.1", "63897a61af646c59bb928fee9756ce8bdd02d5a1a2f3551d4a5e38386c2cc071", [:rebar3], [{:goldrush, "0.1.9", [hex: :goldrush, repo: "hexpm", optional: false]}], "hexpm"}, "lager_logger": {:hex, :lager_logger, "1.0.5", "2b58be52fe1e0fb82656180fc54e45618aa2dc619090b00e6d3fb4707c6a1fe5", [:mix], [{:lager, ">= 2.1.0", [hex: :lager, repo: "hexpm", optional: false]}], "hexpm"}, "logger_backend_ecto": {:hex, :logger_backend_ecto, "1.3.0", "6bb1a9d2b0ac1ee04049df94e49ea469f1f0db774d2fa05d673dc796a5ad9ed7", [:mix], [{:sqlite_ecto2, "~> 2.2", [hex: :sqlite_ecto2, repo: "hexpm", optional: true]}], "hexpm"}, + "logger_backend_sqlite": {:hex, :logger_backend_sqlite, "2.0.0", "0efeb964caca5557695f6d6c8855ee0be1e2df4014f276a442ca2a47869013d9", [:mix], [{:esqlite, "~> 0.2.4", [hex: :esqlite, repo: "hexpm", optional: false]}], "hexpm"}, "mdns": {:hex, :mdns, "1.0.1", "c0e490f7c90ee6b546284c942ebb1c239375fb5f788e765d22ea8ff848cfe842", [:mix], [{:dns, "~> 2.0", [hex: :dns, repo: "hexpm", optional: false]}], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"}, "mime": {:hex, :mime, "1.3.0", "5e8d45a39e95c650900d03f897fbf99ae04f60ab1daa4a34c7a20a5151b7a5fe", [:mix], [], "hexpm"}, diff --git a/platform/target/bootstrap/configurator/router.ex b/platform/target/bootstrap/configurator/router.ex index 2c1b8177..601975fe 100644 --- a/platform/target/bootstrap/configurator/router.ex +++ b/platform/target/bootstrap/configurator/router.ex @@ -39,7 +39,7 @@ defmodule Farmbot.Target.Bootstrap.Configurator.Router do end get "/view_logs" do - all_logs = LoggerBackendEcto.all_logs() + all_logs = LoggerBackendSqlite.all_logs() render_page(conn, "view_logs", [logs: all_logs]) end diff --git a/scripts/shell b/scripts/shell index 54edc8f0..c06edf2a 100755 --- a/scripts/shell +++ b/scripts/shell @@ -1,2 +1,2 @@ #!/bin/bash -iex --sname farmbot --cookie democookie --remsh farmbot@farmbot-$1 +iex --sname console --cookie democookie --remsh farmbot@farmbot-$1