diff --git a/src/libs/core/include/core/ILogger.hpp b/src/libs/core/include/core/ILogger.hpp index 8c7ee446..336898e9 100644 --- a/src/libs/core/include/core/ILogger.hpp +++ b/src/libs/core/include/core/ILogger.hpp @@ -101,3 +101,10 @@ namespace lms::core::logging if (auto* logger_{ ::lms::core::Service<::lms::core::logging::ILogger>::get() }; logger_ && logger_->isSeverityActive(::lms::core::logging::Severity::severity)) \ ::lms::core::logging::Log{ *logger_, ::lms::core::logging::Module::module, ::lms::core::logging::Severity::severity }.getOstream() << message; \ } while (0) + +#define LMS_LOG_IF(module, severity, cond, message) \ + do \ + { \ + if (auto* logger_{ ::lms::core::Service<::lms::core::logging::ILogger>::get() }; logger_ && logger_->isSeverityActive(::lms::core::logging::Severity::severity) && cond) \ + ::lms::core::logging::Log{ *logger_, ::lms::core::logging::Module::module, ::lms::core::logging::Severity::severity }.getOstream() << message; \ + } while (0) diff --git a/src/libs/database/impl/objects/Artist.cpp b/src/libs/database/impl/objects/Artist.cpp index 86d0b029..368c87ab 100644 --- a/src/libs/database/impl/objects/Artist.cpp +++ b/src/libs/database/impl/objects/Artist.cpp @@ -445,16 +445,14 @@ AND NOT EXISTS ( void Artist::setName(std::string_view name) { _name.assign(name, 0, _maxNameLength); - if (name.size() > _maxNameLength) - LMS_LOG(DB, WARNING, "Artist name too long, truncated to '" << _name << "'"); + LMS_LOG_IF(DB, WARNING, name.size() > _maxNameLength, "Artist name too long, truncated to '" << _name << "'"); } void Artist::setSortName(std::string_view sortName) { _sortName.assign(sortName, 0, _maxNameLength); - if (sortName.size() > _maxNameLength) - LMS_LOG(DB, WARNING, "Artist sort name too long, truncated to '" << _sortName << "'"); + LMS_LOG_IF(DB, WARNING, sortName.size() > _maxNameLength, "Artist sort name too long, truncated to '" << _sortName << "'"); } void Artist::setPreferredArtwork(ObjectPtr artwork) diff --git a/src/libs/database/impl/objects/PlayListFile.cpp b/src/libs/database/impl/objects/PlayListFile.cpp index 17bf4036..e7b408d1 100644 --- a/src/libs/database/impl/objects/PlayListFile.cpp +++ b/src/libs/database/impl/objects/PlayListFile.cpp @@ -167,8 +167,7 @@ namespace lms::db void PlayListFile::setName(std::string_view name) { _name = std::string{ name, 0, _maxNameLength }; - if (name.size() > _maxNameLength) - LMS_LOG(DB, WARNING, "PlaylistFile name too long, truncated to '" << _name << "'"); + LMS_LOG_IF(DB, WARNING, name.size() > _maxNameLength, "PlaylistFile name too long, truncated to '" << _name << "'"); } void PlayListFile::setFiles(std::span files) diff --git a/src/libs/database/impl/objects/Track.cpp b/src/libs/database/impl/objects/Track.cpp index ab731be5..4925b3e3 100644 --- a/src/libs/database/impl/objects/Track.cpp +++ b/src/libs/database/impl/objects/Track.cpp @@ -511,22 +511,19 @@ namespace lms::db void Track::setName(std::string_view name) { _name = std::string{ name, 0, _maxNameLength }; - if (name.size() > _maxNameLength) - LMS_LOG(DB, WARNING, "Track name too long, truncated to '" << _name << "'"); + LMS_LOG_IF(DB, WARNING, name.size() > _maxNameLength, "Track name too long, truncated to '" << _name << "'"); } void Track::setCopyright(std::string_view copyright) { _copyright = std::string{ copyright, 0, _maxCopyrightLength }; - if (copyright.size() > _maxCopyrightLength) - LMS_LOG(DB, WARNING, "Track copyright too long, truncated to '" << _copyright << "'"); + LMS_LOG_IF(DB, WARNING, copyright.size() > _maxCopyrightLength, "Track copyright too long, truncated to '" << _copyright << "'"); } void Track::setCopyrightURL(std::string_view copyrightURL) { _copyrightURL = std::string{ copyrightURL, 0, _maxCopyrightURLLength }; - if (copyrightURL.size() > _maxCopyrightURLLength) - LMS_LOG(DB, WARNING, "Track copyright URL too long, truncated to '" << _copyrightURL << "'"); + LMS_LOG_IF(DB, WARNING, copyrightURL.size() > _maxCopyrightURLLength, "Track copyright URL too long, truncated to '" << _copyrightURL << "'"); } void Track::clearArtistLinks()