Current section

Files

Jump to
file_only_logger lib file only logger ie.ex
Raw

lib/file/only/logger/ie.ex

defmodule File.Only.Logger.IE.Log do
@moduledoc false
use File.Only.Logger
error :exit, {reason} do
"""
\n'exit' caught...
• Reason:
#{inspect(reason)}
"""
end
info :save, {game} do
"""
\nSaving game...
• Server:
#{game.name |> via() |> inspect()}
• Game being saved:
#{inspect(game)}
"""
end
## Private functions
defp via(name), do: {:via, Registry, {:registry, {Server, name}}}
end
defmodule File.Only.Logger.IE do
@moduledoc false
# Example of an IEx session...
#
# iex -S mix
#
# use File.Only.Logger.IE
# log_error # And then check log files
# log_info # And then check log files
alias __MODULE__.Log
defmacro __using__(_options) do
quote do
import unquote(__MODULE__)
alias unquote(__MODULE__)
alias unquote(__MODULE__).Log
alias File.Only.Logger.Proxy
alias File.Only.Logger
:ok
end
end
@spec log_error :: :ok
def log_error() do
Log.error(:exit, {{:already_started, self() |> inspect()}})
end
@spec log_info :: :ok
def log_info() do
Log.info(:save, {%{name: "blue-moon", state: :exciting}})
end
end