aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_acceptor.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-07-05 09:01:49 +0200
committerLoïc Hoguin <[email protected]>2018-07-05 09:01:49 +0200
commit8759b87a29c1318075e277eb35930396e35b1a6d (patch)
tree0a761b9df537090a9b4bb184f7287833bdb103a9 /src/ranch_acceptor.erl
parent3805bde6957663a9fabb4cc9912e8d090514fc30 (diff)
downloadranch-8759b87a29c1318075e277eb35930396e35b1a6d.tar.gz
ranch-8759b87a29c1318075e277eb35930396e35b1a6d.tar.bz2
ranch-8759b87a29c1318075e277eb35930396e35b1a6d.zip
Add a logger transport option
I had to use the process dictionary to work around the current interface for one log call. You have been warned.
Diffstat (limited to 'src/ranch_acceptor.erl')
-rw-r--r--src/ranch_acceptor.erl30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/ranch_acceptor.erl b/src/ranch_acceptor.erl
index ada8016..0224f9e 100644
--- a/src/ranch_acceptor.erl
+++ b/src/ranch_acceptor.erl
@@ -14,17 +14,17 @@
-module(ranch_acceptor).
--export([start_link/3]).
--export([loop/3]).
+-export([start_link/4]).
+-export([loop/4]).
--spec start_link(inet:socket(), module(), pid())
+-spec start_link(inet:socket(), module(), module(), pid())
-> {ok, pid()}.
-start_link(LSocket, Transport, ConnsSup) ->
- Pid = spawn_link(?MODULE, loop, [LSocket, Transport, ConnsSup]),
+start_link(LSocket, Transport, Logger, ConnsSup) ->
+ Pid = spawn_link(?MODULE, loop, [LSocket, Transport, Logger, ConnsSup]),
{ok, Pid}.
--spec loop(inet:socket(), module(), pid()) -> no_return().
-loop(LSocket, Transport, ConnsSup) ->
+-spec loop(inet:socket(), module(), module(), pid()) -> no_return().
+loop(LSocket, Transport, Logger, ConnsSup) ->
_ = case Transport:accept(LSocket, infinity) of
{ok, CSocket} ->
case Transport:controlling_process(CSocket, ConnsSup) of
@@ -39,21 +39,23 @@ loop(LSocket, Transport, ConnsSup) ->
%% We can't accept anymore anyway, so we might as well wait
%% a little for the situation to resolve itself.
{error, emfile} ->
- error_logger:warning_msg("Ranch acceptor reducing accept rate: out of file descriptors~n"),
+ ranch:log(warning,
+ "Ranch acceptor reducing accept rate: out of file descriptors~n",
+ [], Logger),
receive after 100 -> ok end;
%% We want to crash if the listening socket got closed.
{error, Reason} when Reason =/= closed ->
ok
end,
- flush(),
- ?MODULE:loop(LSocket, Transport, ConnsSup).
+ flush(Logger),
+ ?MODULE:loop(LSocket, Transport, Logger, ConnsSup).
-flush() ->
+flush(Logger) ->
receive Msg ->
- error_logger:error_msg(
+ ranch:log(warning,
"Ranch acceptor received unexpected message: ~p~n",
- [Msg]),
- flush()
+ [Msg], Logger),
+ flush(Logger)
after 0 ->
ok
end.