Added a macro to log with a condition

This commit is contained in:
emeric
2025-07-17 20:52:06 +02:00
parent 4d4f83130a
commit 08ac5f0b10
4 changed files with 13 additions and 12 deletions
+7
View File
@@ -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)
+2 -4
View File
@@ -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> artwork)
@@ -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<const std::filesystem::path> files)
+3 -6
View File
@@ -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()