simplified base a bit
This commit is contained in:
@@ -46,19 +46,15 @@ class AsyncLokiHandler(Handler, metaclass=Singleton):
|
|||||||
self.loop.create_task(self.send_to_loki(record))
|
self.loop.create_task(self.send_to_loki(record))
|
||||||
|
|
||||||
async def send_to_loki(self, record: LogRecord):
|
async def send_to_loki(self, record: LogRecord):
|
||||||
|
labels = {'room': record.room}
|
||||||
|
if component := getattr(record, 'component', False):
|
||||||
|
labels['component'] = component
|
||||||
|
|
||||||
message = self.format(record)
|
message = self.format(record)
|
||||||
ns = round(record.created * 1_000_000_000)
|
ns = round(record.created * 1_000_000_000)
|
||||||
|
|
||||||
# https://grafana.com/docs/loki/latest/reference/loki-http-api/#ingest-logs
|
# https://grafana.com/docs/loki/latest/reference/loki-http-api/#ingest-logs
|
||||||
payload = {
|
payload = {'streams': [{'stream': labels, 'values': [[str(ns), message]]}]}
|
||||||
'streams': [
|
|
||||||
{
|
|
||||||
'stream': {'app': 'loki'},
|
|
||||||
'values': [[str(ns), message]],
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
await self.queue.put(payload)
|
await self.queue.put(payload)
|
||||||
|
|
||||||
async def log_consumer(self):
|
async def log_consumer(self):
|
||||||
@@ -99,6 +95,7 @@ class RoomControlBase(ADAPI):
|
|||||||
{
|
{
|
||||||
'version': 1,
|
'version': 1,
|
||||||
'disable_existing_loggers': False,
|
'disable_existing_loggers': False,
|
||||||
|
'filters': {'unmarkup': {'()': 'room_control.console.UnMarkupFilter'}},
|
||||||
'formatters': {
|
'formatters': {
|
||||||
'basic': {'style': '{', 'format': '{message}'},
|
'basic': {'style': '{', 'format': '{message}'},
|
||||||
'rich': {
|
'rich': {
|
||||||
@@ -125,6 +122,7 @@ class RoomControlBase(ADAPI):
|
|||||||
},
|
},
|
||||||
'async_queue': {
|
'async_queue': {
|
||||||
'formatter': 'basic',
|
'formatter': 'basic',
|
||||||
|
'filters': ['unmarkup'],
|
||||||
'()': 'room_control.base.AsyncLokiHandler',
|
'()': 'room_control.base.AsyncLokiHandler',
|
||||||
'loop': self.AD.loop,
|
'loop': self.AD.loop,
|
||||||
'loki_url': self.args['loki_url'],
|
'loki_url': self.args['loki_url'],
|
||||||
|
|||||||
Reference in New Issue
Block a user