diff options
Diffstat (limited to 'ereproxy_log.erl')
-rw-r--r-- | ereproxy_log.erl | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ereproxy_log.erl b/ereproxy_log.erl new file mode 100644 index 0000000..fe5c28b --- /dev/null +++ b/ereproxy_log.erl @@ -0,0 +1,24 @@ +-module(ereproxy_log). +-export([start_link/1, log/1]). + +-include("ereproxy_config.hrl"). + +start_link(CfgMod) -> + case file:open((CfgMod:config())#cfg.log_file, [append]) of + {ok, LogFile} -> + Pid = spawn_link(?MODULE, log, [LogFile]), + true = register(?MODULE, Pid), + {ok, Pid}; + Error -> + error_logger:error_report( + [{?MODULE, ?LINE}, Error]), + {error, Error} + end. + +%% log: write all message to logfile (w/ timestamp) +log(FD) -> + receive + Msg -> + io:format(FD, "~w~n", [{erlang:localtime(), Msg}]), + log(FD) + end. |