@@ -18,7 +18,9 @@ defmodule LoggerLogstashBackend.TCPTest do
1818 require Logger
1919 use Timex
2020
21- @ backend { LoggerLogstashBackend , :tcp_test }
21+ import ExUnit.CaptureIO
22+
23+ # Callbacks
2224
2325 setup context = % { line: line } do
2426 # have to open socket before configure_backend, so that it is listening when connect happens
@@ -66,7 +68,7 @@ defmodule LoggerLogstashBackend.TCPTest do
6668 assert fields [ "function" ] == "test can log/1"
6769 assert fields [ "key1" ] == "field1"
6870 assert fields [ "level" ] == "info"
69- assert fields [ "line" ] == 58
71+ assert fields [ "line" ] == 60
7072 assert fields [ "module" ] == to_string ( __MODULE__ )
7173 assert fields [ "pid" ] == inspect ( self )
7274 assert fields [ "some_metadata" ] == "go here"
@@ -90,7 +92,7 @@ defmodule LoggerLogstashBackend.TCPTest do
9092 assert fields [ "function" ] == "test can log pids/1"
9193 assert fields [ "pid_key" ] == inspect ( self )
9294 assert fields [ "level" ] == "info"
93- assert fields [ "line" ] == 82
95+ assert fields [ "line" ] == 84
9496 assert fields [ "module" ] == to_string ( __MODULE__ )
9597 assert fields [ "pid" ] == inspect ( self )
9698 assert fields [ "some_metadata" ] == "go here"
@@ -113,6 +115,19 @@ defmodule LoggerLogstashBackend.TCPTest do
113115 assert { :ok , _ } = :gen_tcp . accept ( listen_socket , 1_000 )
114116 end
115117
118+ test "if it can't reconnect, then is prints to :stderr" ,
119+ % { accept_socket: accept_socket , listen_socket: listen_socket } do
120+ :ok = :gen_tcp . close listen_socket
121+ :ok = :gen_tcp . close accept_socket
122+
123+ captured_stderr = capture_io :stderr , fn ->
124+ Logger . info "Logged to stderr"
125+ :timer . sleep 100
126+ end
127+
128+ assert captured_stderr =~ "Logged to stderr"
129+ end
130+
116131 defp get_log do
117132 receive do
118133 { :tcp , _socket , json } -> { :ok , json }
0 commit comments