View Source File.Only.Logger (File-Only Logger v0.2.28)

A simple logger that writes messages to log files only (not to the console).

Summary

Functions

Either aliases File.Only.Logger (this module) and requires the alias or imports File.Only.Logger. In the latter case, you could instead simply import File.Only.Logger.

Returns the application for the current process or module.

Injects function error/2 into the caller's module.

Returns a formatted heredoc to trace a message from the given env (Macro.Env).

Returns a formatted heredoc to trace a message from the given env (Macro.Env) and module.

Returns string "<module>.<function>/<arity>" e.g. "My.Math.sqrt/1" from the given env (Macro.Env).

Injects function info/2 into the caller's module.

Returns the current library name.

Will prefix string with "\n<padding>" if string is longer than <line_length> - offset where <padding> and <line_length> are respectively the :padding and :line_length options.

Returns the current module as a string.

Functions

Link to this macro

__using__(options)

View Source (macro)

Either aliases File.Only.Logger (this module) and requires the alias or imports File.Only.Logger. In the latter case, you could instead simply import File.Only.Logger.

Examples

use File.Only.Logger, alias: FileLogger

use File.Only.Logger

import File.Only.Logger
Link to this macro

alert(message_id, variables, do_block)

View Source (macro)

Returns the application for the current process or module.

Returns :undefined if the current process does not belong to any application or the current module is not listed in any application spec.

Examples

use File.Only.Logger

error :exit, {reason} do
  """
  \n'exit' caught...
  • Reason: #{inspect(reason)}
  • App: #{app()}\
  """
end
Link to this macro

critical(message_id, variables, do_block)

View Source (macro)
Link to this macro

debug(message_id, variables, do_block)

View Source (macro)
Link to this macro

emergency(message_id, variables, do_block)

View Source (macro)
Link to this macro

error(message_id, variables, do_block)

View Source (macro)

Injects function error/2 into the caller's module.

The function will execute the do_block and write its result to the configured error log file.

Examples

use File.Only.Logger

error :exit, {reason} do
  """
  \n'exit' caught...
  Reason => #{inspect(reason)}\
  """
end

Returns a formatted heredoc to trace a message from the given env (Macro.Env).

Examples

use File.Only.Logger

error :exit, {reason, env} do
  """
  \n'exit' caught...
  • Reason: #{inspect(reason)}
  #{from(env)}\
  """
end
Link to this macro

from(env, module)

View Source (macro)

Returns a formatted heredoc to trace a message from the given env (Macro.Env) and module.

Examples

use File.Only.Logger

error :exit, {reason, env} do
  """
  \n'exit' caught...
  • Reason: #{inspect(reason)}
  #{from(env, __MODULE__)}\
  """
end

Returns string "<module>.<function>/<arity>" e.g. "My.Math.sqrt/1" from the given env (Macro.Env).

Examples

use File.Only.Logger

error :exit, {reason, env} do
  """
  \n'exit' caught...
  • Reason: #{inspect(reason)}
  • Function: #{fun(env)}\
  """
end
Link to this macro

info(message_id, variables, do_block)

View Source (macro)

Injects function info/2 into the caller's module.

The function will execute the do_block and write its result to the configured info log file.

Examples

use File.Only.Logger

info :game_state, {player, game} do
  """
  \nNote that #{player.name}...
  • Has joined game #{inspect(game.name)}
  • Game state: #{inspect(game.state)}\
  """
end

Returns the current library name.

Examples

use File.Only.Logger

error :exit, {reason} do
  """
  \n'exit' caught...
  • Reason: #{inspect(reason)}
  • Library: #{lib()}\
  """
end
Link to this macro

maybe_break(string, offset, options \\ [])

View Source (macro)

Will prefix string with "\n<padding>" if string is longer than <line_length> - offset where <padding> and <line_length> are respectively the :padding and :line_length options.

Options

  • :line_length (positive integer) - the preferred line length of messages sent to the log files. Defaults to 80.
  • :padding (string) - Filler inserted after the line break. Defaults to "\s\s".

Examples

use File.Only.Logger

error :exit, {reason, env} do
  """
  \n'exit' caught...
  • Reason: #{inspect(reason)}
  • Function: #{fun(env) |> maybe_break(12)}\
  """
end

Returns the current module as a string.

Examples

use File.Only.Logger

error :exit, {reason} do
  """
  \n'exit' caught...
  • Reason: #{inspect(reason)}
  • Module: #{mod()}\
  """
end
Link to this macro

notice(message_id, variables, do_block)

View Source (macro)
Link to this macro

warning(message_id, variables, do_block)

View Source (macro)