Created
May 4, 2017 19:50
-
-
Save cjbottaro/3d9c98d3f1192f00e86d293c20ceb21f to your computer and use it in GitHub Desktop.
Revisions
-
cjbottaro created this gist
May 4, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,3 @@ config :gnat, logger: [ level: :info ] This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,3 @@ defmodule Gnat.Stream.Logger do use Gnat.Logging, otp_app: :gnat end This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,29 @@ defmodule Gnat.Logging do defmacro __using__(options) do quote bind_quoted: [otp_app: options[:otp_app]] do require Logger def debug(message, metadata \\ []), do: log(:debug, message, metadata) def info(message, metadata \\ []), do: log(:info, message, metadata) def warn(message, metadata \\ []), do: log(:warn, message, metadata) def error(message, metadata \\ []), do: log(:error, message, metadata) @otp_app otp_app def log(level, message, metadata \\ []) do config = Application.get_env(@otp_app, :logger, []) config_level = Keyword.get(config, :level, :debug) if level_to_int(config_level) <= level_to_int(level) do Logger.log(level, message, metadata) end end defp level_to_int(:debug), do: 0 defp level_to_int(:info), do: 1 defp level_to_int(:warn), do: 2 defp level_to_int(:error), do: 3 end end end