From 77551680045466743ca330f593216f5d4b255fa7 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Mon, 26 Jun 2023 23:58:10 -0500 Subject: [PATCH] [ox/logconn] Change some C strings to StringViews, add macro for initializing logger --- deps/ox/src/ox/logconn/def.hpp | 27 +++++++++++++++++++++++++++ deps/ox/src/ox/logconn/logconn.cpp | 2 +- deps/ox/src/ox/logconn/logconn.hpp | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 deps/ox/src/ox/logconn/def.hpp diff --git a/deps/ox/src/ox/logconn/def.hpp b/deps/ox/src/ox/logconn/def.hpp new file mode 100644 index 00000000..a7cbd0a5 --- /dev/null +++ b/deps/ox/src/ox/logconn/def.hpp @@ -0,0 +1,27 @@ +/* + * Copyright 2015 - 2023 gary@drinkingtea.net + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#pragma once + +#if defined(DEBUG) && !defined(OX_BARE_METAL) +#define OX_INIT_DEBUG_LOGGER(loggerName, appName) \ + ox::LoggerConn loggerName; \ + { \ + const auto loggerErr = (loggerName).initConn(appName); \ + if (loggerErr) { \ + oxErrf("Could not connect to logger: {} ({}:{})\n", toStr(loggerErr), loggerErr.file, loggerErr.line); \ + } else { \ + ox::trace::setLogger(&(loggerName)); \ + } \ + ox::trace::init(); \ + } +#else +#define OX_INIT_DEBUG_LOGGER(loggerName, appName) +#endif + + diff --git a/deps/ox/src/ox/logconn/logconn.cpp b/deps/ox/src/ox/logconn/logconn.cpp index 78390dc5..9adaa5b5 100644 --- a/deps/ox/src/ox/logconn/logconn.cpp +++ b/deps/ox/src/ox/logconn/logconn.cpp @@ -34,7 +34,7 @@ LoggerConn::~LoggerConn() noexcept { } } -ox::Error LoggerConn::initConn(const char *appName) noexcept { +ox::Error LoggerConn::initConn(ox::CRStringView appName) noexcept { sockaddr_in addr{}; addr.sin_family = AF_INET; addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); diff --git a/deps/ox/src/ox/logconn/logconn.hpp b/deps/ox/src/ox/logconn/logconn.hpp index 51037ee2..a7273017 100644 --- a/deps/ox/src/ox/logconn/logconn.hpp +++ b/deps/ox/src/ox/logconn/logconn.hpp @@ -38,7 +38,7 @@ class LoggerConn: public trace::Logger { LoggerConn &operator=(const LoggerConn&) noexcept = delete; ox::Error send(const trace::TraceMsg&) noexcept final; ox::Error sendInit(const trace::InitTraceMsg&) noexcept final; - ox::Error initConn(const char *appName = "") noexcept; + ox::Error initConn(ox::CRStringView appName) noexcept; ox::Error send(const char *buff, std::size_t len) const noexcept; private: void msgSend() noexcept;