   @doc """
   Adds a new translator.
   """
+  @spec add_translator({module, function :: atom}) :: :ok
   def add_translator({mod, fun} = translator) when is_atom(mod) and is_atom(fun) do
     Logger.Config.add_translator(translator)
   end

  documentation for the available options.
  """
  @valid_options [:compile_time_purge_level, :compile_time_application, :sync_threshold, :truncate, :level, :utc_log]

  def configure(options) do
    Logger.Config.configure(Keyword.take(options, @valid_options))
  end

  @type backend :: :gen_event.handler
  @type message :: IO.chardata | String.Chars.t
  @type level :: :error | :info | :warn | :debug
  @type metadata :: Keyword.t(String.Chars.t)
  @levels [:error, :info, :warn, :debug]

  @metadata :logger_metadata
