mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
ordered by last occurence (#21200)
This commit is contained in:
parent
99eda385d1
commit
b0f317743b
@ -88,7 +88,7 @@ class LogEntry:
|
|||||||
|
|
||||||
def __init__(self, record, stack, source):
|
def __init__(self, record, stack, source):
|
||||||
"""Initialize a log entry."""
|
"""Initialize a log entry."""
|
||||||
self.timestamp = record.created
|
self.first_occured = self.timestamp = record.created
|
||||||
self.level = record.levelname
|
self.level = record.levelname
|
||||||
self.message = record.getMessage()
|
self.message = record.getMessage()
|
||||||
if record.exc_info:
|
if record.exc_info:
|
||||||
@ -125,8 +125,12 @@ class DedupStore(OrderedDict):
|
|||||||
key = str(entry.hash())
|
key = str(entry.hash())
|
||||||
|
|
||||||
if key in self:
|
if key in self:
|
||||||
entry.count = self[key].count + 1
|
# Update stored entry
|
||||||
|
self[key].count += 1
|
||||||
|
self[key].timestamp = entry.timestamp
|
||||||
|
|
||||||
|
self.move_to_end(key)
|
||||||
|
else:
|
||||||
self[key] = entry
|
self[key] = entry
|
||||||
|
|
||||||
if len(self) > self.maxlen:
|
if len(self) > self.maxlen:
|
||||||
|
@ -152,6 +152,11 @@ async def test_dedup_logs(hass, hass_client):
|
|||||||
assert log[1]["count"] == 2
|
assert log[1]["count"] == 2
|
||||||
assert_log(log[1], '', 'error message 2', 'ERROR')
|
assert_log(log[1], '', 'error message 2', 'ERROR')
|
||||||
|
|
||||||
|
_LOGGER.error('error message 2')
|
||||||
|
log = await get_error_log(hass, hass_client, 2)
|
||||||
|
assert_log(log[0], '', 'error message 2', 'ERROR')
|
||||||
|
assert log[0]["timestamp"] > log[0]["first_occured"]
|
||||||
|
|
||||||
|
|
||||||
async def test_clear_logs(hass, hass_client):
|
async def test_clear_logs(hass, hass_client):
|
||||||
"""Test that the log can be cleared via a service call."""
|
"""Test that the log can be cleared via a service call."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user