mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
use messagetime in WebLogService::show()
This commit is contained in:
@@ -47,7 +47,7 @@
|
|||||||
"@preact/compat": "^18.3.1",
|
"@preact/compat": "^18.3.1",
|
||||||
"@preact/preset-vite": "^2.10.1",
|
"@preact/preset-vite": "^2.10.1",
|
||||||
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
||||||
"@types/node": "^22.15.1",
|
"@types/node": "^22.15.2",
|
||||||
"@types/react": "^19.1.2",
|
"@types/react": "^19.1.2",
|
||||||
"@types/react-dom": "^19.1.2",
|
"@types/react-dom": "^19.1.2",
|
||||||
"concurrently": "^9.1.2",
|
"concurrently": "^9.1.2",
|
||||||
|
|||||||
@@ -1408,12 +1408,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/node@npm:^22.15.1":
|
"@types/node@npm:^22.15.2":
|
||||||
version: 22.15.1
|
version: 22.15.2
|
||||||
resolution: "@types/node@npm:22.15.1"
|
resolution: "@types/node@npm:22.15.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: "npm:~6.21.0"
|
undici-types: "npm:~6.21.0"
|
||||||
checksum: 10c0/80bd7fff7d6f4058875feb2c980fa066266b02ffde51e794cf4b7bea5f1316c08baa135fa7cbffa677efb999b0945b2697b318e84af4563c1ab8d3392a17bf9a
|
checksum: 10c0/39da31d5fc63b14fabd217bb8a921c4a7fc3d99f233440209f9fc2d5d736e8773f7efc65223e2fd0e8db8390b0baab9c0cd2e951c2ece8b237f07313ab3cf295
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1603,7 +1603,7 @@ __metadata:
|
|||||||
"@preact/preset-vite": "npm:^2.10.1"
|
"@preact/preset-vite": "npm:^2.10.1"
|
||||||
"@table-library/react-table-library": "npm:4.1.15"
|
"@table-library/react-table-library": "npm:4.1.15"
|
||||||
"@trivago/prettier-plugin-sort-imports": "npm:^5.2.2"
|
"@trivago/prettier-plugin-sort-imports": "npm:^5.2.2"
|
||||||
"@types/node": "npm:^22.15.1"
|
"@types/node": "npm:^22.15.2"
|
||||||
"@types/react": "npm:^19.1.2"
|
"@types/react": "npm:^19.1.2"
|
||||||
"@types/react-dom": "npm:^19.1.2"
|
"@types/react-dom": "npm:^19.1.2"
|
||||||
alova: "npm:3.2.10"
|
alova: "npm:3.2.10"
|
||||||
|
|||||||
@@ -124,18 +124,6 @@ void WebLogService::operator<<(std::shared_ptr<uuid::log::Message> message) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
log_messages_.emplace_back(++log_message_id_, std::move(message));
|
log_messages_.emplace_back(++log_message_id_, std::move(message));
|
||||||
|
|
||||||
EMSESP::esp32React.getNTPSettingsService()->read([&](NTPSettings & settings) {
|
|
||||||
if (!settings.enabled || (time(nullptr) < 1500000000L)) {
|
|
||||||
time_offset_ = 0;
|
|
||||||
} else {
|
|
||||||
uint32_t offset = time(nullptr) - uuid::get_uptime_sec();
|
|
||||||
// if NTP is more that 1 sec apart, correct setting
|
|
||||||
if (time_offset_ < offset - 1 || time_offset_ > offset + 1) {
|
|
||||||
time_offset_ = offset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// dumps out the contents of log buffer to shell console
|
// dumps out the contents of log buffer to shell console
|
||||||
@@ -151,7 +139,8 @@ void WebLogService::show(Shell & shell) {
|
|||||||
for (const auto & message : log_messages_) {
|
for (const auto & message : log_messages_) {
|
||||||
log_message_id_tail_ = message.id_;
|
log_message_id_tail_ = message.id_;
|
||||||
|
|
||||||
shell.print(uuid::log::format_timestamp_ms(message.content_->uptime_ms, 3));
|
char time_string[26];
|
||||||
|
shell.print(messagetime(time_string, message.content_->uptime_ms, sizeof(time_string)));
|
||||||
shell.printf(" %c %lu: [%s] ", uuid::log::format_level_char(message.content_->level), message.id_, message.content_->name);
|
shell.printf(" %c %lu: [%s] ", uuid::log::format_level_char(message.content_->level), message.id_, message.content_->name);
|
||||||
|
|
||||||
if ((message.content_->level == uuid::log::Level::ERR) || (message.content_->level == uuid::log::Level::WARNING)) {
|
if ((message.content_->level == uuid::log::Level::ERR) || (message.content_->level == uuid::log::Level::WARNING)) {
|
||||||
@@ -204,12 +193,13 @@ void WebLogService::loop() {
|
|||||||
|
|
||||||
// convert time to real offset
|
// convert time to real offset
|
||||||
char * WebLogService::messagetime(char * out, const uint64_t t, const size_t bufsize) {
|
char * WebLogService::messagetime(char * out, const uint64_t t, const size_t bufsize) {
|
||||||
if (!time_offset_) {
|
time_t offset = time(nullptr) - uuid::get_uptime_sec();
|
||||||
|
if (offset < 1500000000L) {
|
||||||
strlcpy(out, uuid::log::format_timestamp_ms(t, 3).c_str(), bufsize);
|
strlcpy(out, uuid::log::format_timestamp_ms(t, 3).c_str(), bufsize);
|
||||||
} else {
|
} else {
|
||||||
time_t t1 = time_offset_ + t / 1000ULL;
|
time_t t1 = offset + (time_t)(t / 1000);
|
||||||
char timestr[bufsize];
|
char timestr[bufsize];
|
||||||
strftime(timestr, bufsize, "%F %T", localtime(&t1));
|
strftime(timestr, bufsize, "%FT%T", localtime(&t1));
|
||||||
snprintf(out, bufsize, "%s.%03d", timestr, (uint16_t)(t % 1000));
|
snprintf(out, bufsize, "%s.%03d", timestr, (uint16_t)(t % 1000));
|
||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
|
|||||||
@@ -70,8 +70,7 @@ class WebLogService : public uuid::log::Handler {
|
|||||||
unsigned long log_message_id_ = 0; // The next identifier to use for queued log messages
|
unsigned long log_message_id_ = 0; // The next identifier to use for queued log messages
|
||||||
unsigned long log_message_id_tail_ = 0; // last event shown on the screen after fetch
|
unsigned long log_message_id_tail_ = 0; // last event shown on the screen after fetch
|
||||||
std::deque<QueuedLogMessage> log_messages_; // Queued log messages, in the order they were received
|
std::deque<QueuedLogMessage> log_messages_; // Queued log messages, in the order they were received
|
||||||
time_t time_offset_ = 0;
|
bool compact_ = true;
|
||||||
bool compact_ = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace emsesp
|
} // namespace emsesp
|
||||||
|
|||||||
Reference in New Issue
Block a user