Packages
islands_engine
0.1.70
0.2.65
0.2.64
0.2.63
0.2.62
0.2.61
0.2.60
0.2.59
0.2.58
0.2.56
0.2.55
0.2.54
0.2.53
0.2.52
0.2.51
0.2.50
0.2.49
0.2.48
0.2.47
0.2.46
0.2.45
0.2.44
0.2.43
0.2.42
0.2.41
0.2.40
0.2.39
0.2.38
0.2.37
0.2.36
0.2.35
0.2.34
0.2.33
0.2.32
0.2.31
0.2.30
0.2.29
0.2.28
0.2.27
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.13
0.2.12
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.81
0.1.80
0.1.79
0.1.78
0.1.77
0.1.76
0.1.75
0.1.73
0.1.72
0.1.71
0.1.70
0.1.69
0.1.68
0.1.67
0.1.66
0.1.65
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.59
0.1.58
0.1.57
0.1.56
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.50
0.1.49
0.1.48
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.0
Models the Game of Islands.
Current section
Files
Jump to
Current section
Files
lib/islands/engine/proxy/info.ex
defmodule Islands.Engine.Proxy.Info do
@moduledoc false
use PersistConfig
require Logger
@log? Application.get_env(@app, :log?)
@spec log(atom, tuple) :: :ok
def log(event, details), do: do_log(event, details, @log?)
## Private functions
@dialyzer {:nowarn_function, do_log: 3}
@spec do_log(atom, tuple, boolean) :: :ok
defp do_log(_event, _details, false = _log?), do: :ok
defp do_log(:game_not_registered, details, true = _log?) do
{game_name, timeout, times_left, reason} = details
removed = Logger.remove_backend(:console, flush: true)
Logger.info("""
\nGame #{inspect(game_name)} not registered:
• Waiting: #{timeout} ms
• Waits left: #{times_left}
• Reason:
#{inspect(reason)}
""")
if removed == :ok, do: Logger.add_backend(:console, flush: true)
:ok
end
defp do_log(:game_registered, details, true = _log?) do
{game_name, pid, times_left, reason} = details
removed = Logger.remove_backend(:console, flush: true)
Logger.info("""
\nGame #{inspect(game_name)} registered:
• PID: #{inspect(pid)}
• Waits left: #{times_left}
• Reason:
#{inspect(reason)}
""")
if removed == :ok, do: Logger.add_backend(:console, flush: true)
:ok
end
end