diff options
Diffstat (limited to 'lib/edioutput/Transport.cpp')
| -rw-r--r-- | lib/edioutput/Transport.cpp | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/edioutput/Transport.cpp b/lib/edioutput/Transport.cpp index 8ebb9fc..4979e93 100644 --- a/lib/edioutput/Transport.cpp +++ b/lib/edioutput/Transport.cpp @@ -193,7 +193,15 @@ void Sender::write(const AFPacket& af_packet)                  tcp_dispatchers.at(tcp_dest.get())->write(af_packet);              }              else if (auto tcp_dest = dynamic_pointer_cast<edi::tcp_client_t>(dest)) { -                tcp_senders.at(tcp_dest.get())->sendall(af_packet); +                const auto error_stats = tcp_senders.at(tcp_dest.get())->sendall(af_packet); + +                if (m_conf.verbose and error_stats.has_seen_new_errors) { +                    fprintf(stderr, "TCP output %s:%d has %zu reconnects: most recent error: %s\n", +                            tcp_dest->dest_addr.c_str(), +                            tcp_dest->dest_port, +                            error_stats.num_reconnects, +                            error_stats.last_error.c_str()); +                }              }              else {                  throw logic_error("EDI destination not implemented");  | 
