Skip to content

Commit a7e1f8e

Browse files
committed
Test stderr fallback for TCP
1 parent d5f7143 commit a7e1f8e

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

test/logger_logstash_backend/tcp_test.exs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)