WebStatus:add syslog count/fail, show only enabled services

This commit is contained in:
MichaelDvP
2022-06-03 13:39:26 +02:00
parent 794b3c0471
commit 1609b76f0a
4 changed files with 58 additions and 21 deletions

View File

@@ -116,7 +116,8 @@ void SyslogService::remove_queued_messages(uuid::log::Level level) {
}
}
log_message_id_ -= offset;
log_message_id_ -= offset;
log_message_fails_ += offset;
}
void SyslogService::log_level(uuid::log::Level level) {
@@ -232,6 +233,7 @@ void SyslogService::operator<<(std::shared_ptr<uuid::log::Message> message) {
if (log_messages_.size() >= maximum_log_messages_) {
log_messages_overflow_ = true;
log_messages_.pop_front();
log_message_fails_++;
}
log_messages_.emplace_back(log_message_id_++, std::move(message));

View File

@@ -198,6 +198,13 @@ class SyslogService : public uuid::log::Handler {
return ip_;
}
unsigned long message_count() {
return log_message_id_;
}
unsigned long message_fails() {
return log_message_fails_;
}
private:
/**
* Log message that has been queued.
@@ -268,8 +275,9 @@ class SyslogService : public uuid::log::Handler {
unsigned long log_message_id_ = 0; /*!< The next identifier to use for queued log messages. @since 1.0.0 */
std::list<QueuedLogMessage> log_messages_; /*!< Queued log messages, in the order they were received. @since 1.0.0 */
std::atomic<bool> log_messages_overflow_{false}; /*!< Check if log messages have overflowed the buffer. @since 1.0.0 */
uint64_t mark_interval_ = 0; /*!< Mark interval in milliseconds. @since 2.0.0 */
uint64_t last_message_ = 0; /*!< Last message/mark time. @since 2.0.0 */
uint64_t mark_interval_ = 0; /*!< Mark interval in milliseconds. @since 2.0.0 */
uint64_t last_message_ = 0; /*!< Last message/mark time. @since 2.0.0 */
unsigned long log_message_fails_ = 0;
};
} // namespace syslog