Selaa lähdekoodia

Add documentation and specs for lager:install_trace and lager:remove_trace

pull/462/head
Andrew Thompson 6 vuotta sitten
vanhempi
commit
d21f05bab7
2 muutettua tiedostoa jossa 28 lisäystä ja 4 poistoa
  1. +19
    -0
      README.md
  2. +9
    -4
      src/lager.erl

+ 19
- 0
README.md Näytä tiedosto

@ -962,6 +962,25 @@ level of your application, you can use these configs to turn it off:
{suppress_supervisor_start_stop, true}]}
```
Sys debug functions
--------------------
Lager provides an integrated way to use sys 'debug functions'. You can install a debug
function in a target process by doing
```erlang
lager:install_trace(Pid, notice).
```
This will, on every 'system event' for an OTP process (usually inbound messages, replies
and state changes) generate a lager message at the specified log level.
You can remove the trace when you're done by doing:
```erlang
lager:remove_trace(Pid).
```
Elixir Support
--------------

+ 9
- 4
src/lager.erl Näytä tiedosto

@ -45,13 +45,13 @@
%% API
trace_func({Pid, Level}=FuncState, Event, ProcState) ->
lager:log(Level, Pid, "TRACE ~p ~p", [Event, ProcState]),
FuncState.
%% @doc installs a lager trace handler into the target process (using sys:install) at the specified level.
-spec install_trace(pid(), log_level()) -> ok.
install_trace(Pid, Level) ->
sys:install(Pid, {fun ?MODULE:trace_func/3, {Pid, Level}}).
%% @doc remove a previously installed lager trace handler from the target process.
-spec remove_trace(pid()) -> ok.
remove_trace(Pid) ->
sys:remove(Pid, fun ?MODULE:trace_func/3).
@ -669,3 +669,8 @@ rotate_handler(Handler) ->
rotate_handler(Handler, Sink) ->
gen_event:call(Sink, Handler, rotate, ?ROTATE_TIMEOUT).
%% @private
trace_func({Pid, Level}=FuncState, Event, ProcState) ->
lager:log(Level, Pid, "TRACE ~p ~p", [Event, ProcState]),
FuncState.

Ladataan…
Peruuta
Tallenna