Skip to content

Commit 0e5d1de

Browse files
authored
[OMON-441] Do log each sending error (#237)
1 parent 2c52cd0 commit 0e5d1de

File tree

7 files changed

+19
-12
lines changed

7 files changed

+19
-12
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ target_link_libraries(Monitoring
132132
Boost::boost
133133
PRIVATE
134134
Boost::system
135+
Boost::filesystem
135136
pthread
136137
$<$<BOOL:${ApMon_FOUND}>:ApMon::ApMon>
137138
$<$<BOOL:${RdKafka_FOUND}>:RdKafka::rdkafka++>

src/MonLogger.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class MonLogger
4242
template <typename T>
4343
MonLogger& operator<<(const T& log)
4444
{
45-
if (MonLogger::globalSeverity >= severity) {
45+
if (MonLogger::LogSeverity >= severity) {
4646
mStream << log;
4747
}
4848
return *this;
@@ -68,7 +68,7 @@ class MonLogger
6868
}
6969

7070
/// Currently set severity
71-
const Severity globalSeverity = Severity::Info;
71+
const Severity LogSeverity = Severity::Info;
7272

7373
private:
7474
/// Instance severity

src/Transports/HTTP.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ HTTP::HTTP(const std::string& url)
3131
FILE *devnull = fopen("/dev/null", "w+");
3232
curl_easy_setopt(mCurl, CURLOPT_WRITEDATA, devnull);
3333

34-
MonLogger::Get() << "HTTP transport initialized (" << url << ")" << MonLogger::End();
34+
MonLogger::Get(Severity::Info) << "HTTP transport initialized (" << url << ")" << MonLogger::End();
3535
}
3636

3737
HTTP::~HTTP()
@@ -56,10 +56,10 @@ void HTTP::send(std::string&& post)
5656
response = curl_easy_perform(mCurl);
5757
curl_easy_getinfo(mCurl, CURLINFO_RESPONSE_CODE, &responseCode);
5858
if (response != CURLE_OK) {
59-
MonLogger::Get(Severity::Warn) << "HTTP Tranport " << curl_easy_strerror(response) << MonLogger::End();
59+
MonLogger::Get() << "HTTP Tranport " << curl_easy_strerror(response) << MonLogger::End();
6060
}
6161
if (responseCode < 200 || responseCode > 206) {
62-
MonLogger::Get(Severity::Warn) << "HTTP Transport: Response code : " << std::to_string(responseCode) << MonLogger::End();
62+
MonLogger::Get() << "HTTP Transport: Response code : " << std::to_string(responseCode) << MonLogger::End();
6363
}
6464
}
6565

src/Transports/Kafka.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ Kafka::Kafka(const std::string& host, unsigned int port, const std::string& topi
3939

4040
producer = RdKafka::Producer::create(conf, errstr);
4141
if (!producer) {
42-
throw std::runtime_error("Failed to create Kafka producer: " + errstr);
42+
MonLogger::Get(Severity::Error) << "Coult not initialize Kafka transport" << MonLogger::End();
4343
}
4444

45-
MonLogger::Get() << "Kafka transport initialized (" << host << ":" << port << "/" << mTopic << ")" << MonLogger::End();
45+
MonLogger::Get(Severity::Info) << "Kafka transport initialized (" << host << ":" << port << "/" << mTopic << ")" << MonLogger::End();
4646
}
4747

4848
Kafka::~Kafka()

src/Transports/TCP.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,15 @@ TCP::TCP(const std::string& hostname, int port) : mSocket(mIoService)
4343
if (error) {
4444
throw MonitoringException("TCP connection", error.message());
4545
}
46+
MonLogger::Get(Severity::Info) << "TCP transport initialized (" << hostname << ":" << port << ")" << MonLogger::End();
4647
}
4748

4849
void TCP::send(std::string&& message)
4950
{
5051
try {
5152
mSocket.send(boost::asio::buffer(message));
5253
} catch (const boost::system::system_error& e) {
53-
MonLogger::Get(Severity::Error) << "TCP / " << e.what() << MonLogger::End();
54+
MonLogger::Get() << "TCP / " << e.what() << MonLogger::End();
5455
}
5556
}
5657

src/Transports/UDP.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ UDP::UDP(const std::string& hostname, int port) : mSocket(mIoService, boost::asi
3232
boost::asio::ip::udp::resolver::query query(boost::asio::ip::udp::v4(), hostname, std::to_string(port));
3333
boost::asio::ip::udp::resolver::iterator resolverInerator = resolver.resolve(query);
3434
mEndpoint = *resolverInerator;
35-
MonLogger::Get() << "UDP transport initialized (" << hostname << ":" << port << ")" << MonLogger::End();
35+
MonLogger::Get(Severity::Info) << "UDP transport initialized (" << hostname << ":" << port << ")" << MonLogger::End();
3636
}
3737

3838
void UDP::send(std::string&& message)

src/Transports/Unix.cxx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
#include "Unix.h"
1717
#include <string>
18+
#include <boost/filesystem.hpp>
1819
#include "../MonLogger.h"
1920

2021
namespace o2
@@ -28,16 +29,20 @@ namespace transports
2829
#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
2930
Unix::Unix(const std::string& socketPath) : mSocket(mIoService), mEndpoint(socketPath)
3031
{
31-
mSocket.open();
32-
MonLogger::Get() << "Unix socket transport initialized (" << socketPath << ")" << MonLogger::End();
32+
if (!boost::filesystem::exists(socketPath)) {
33+
MonLogger::Get(Severity::Error) << "Unix sockes path is invalid: " << socketPath << MonLogger::End();
34+
} else {
35+
mSocket.open();
36+
MonLogger::Get(Severity::Info) << "Unix socket transport initialized (" << socketPath << ")" << MonLogger::End();
37+
}
3338
}
3439

3540
void Unix::send(std::string&& message)
3641
{
3742
try {
3843
mSocket.send_to(boost::asio::buffer(message, message.size()), mEndpoint);
3944
} catch (const boost::system::system_error& e) {
40-
MonLogger::Get(Severity::Error) << "Unix socket / " << e.what() << MonLogger::End();
45+
MonLogger::Get() << "Unix socket / " << e.what() << MonLogger::End();
4146
}
4247
}
4348
#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)

0 commit comments

Comments
 (0)