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

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.

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

__using__(options)

(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

alert(message_id, variables, do_block)

(macro)

app()

(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

critical(message_id, variables, do_block)

(macro)

debug(message_id, variables, do_block)

(macro)

emergency(message_id, variables, do_block)

(macro)

error(message_id, variables, do_block)

(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

from(env)

(macro)

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

from(env, module)

(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

fun(env)

(macro)

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

info(message_id, variables, do_block)

(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

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

(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

mod()

(macro)

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

notice(message_id, variables, do_block)

(macro)

warning(message_id, variables, do_block)

(macro)