Разбор многострочных трассировок python в одну строку с помощью fluentbit

Мое python приложение пишет логи в STDOUT и я собираю логи с помощью fluentbit агента. Образец моих логов

 
Checking for future activity
 
Activity Time: 1636487814
 
Current Time: 1636490831
 
Not the future activity request for athlete: 505
  
[2021-11-09 20:47:11,781] ERROR in app: Exception on /api/v1/lala/activity-request [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.7/site-packages/newrelic/hooks/framework_flask.py", line 64, in _nr_wrapper_handler_
    return wrapped(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/flask_restful/__init__.py", line 467, in wrapper
    resp = resource(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/flask/views.py", line 89, in view
    return self.dispatch_request(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/flask_restful/__init__.py", line 582, in dispatch_request
    resp = meth(*args, **kwargs)
  File "./test-app/api/resources/lala/v1/resources.py", line 111, in post
    lalaService.send_activity_request_to_broker(athlete, activity_request)
  File "./test-app/api/resources/lala/services.py", line 94, in send_activity_request_to_broker
    ThirdPartyService.produce_activity(activity_data)
  File "./test-app/api/resources/common/services.py", line 91, in produce_activity
    get_or_create_eventloop().run_until_complete(produce_activity(activity_data))
  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 587, in run_until_complete
    return future.result()
  File "./test-app/producer.py", line 12, in produce_activity
    await result
RuntimeError: Task <Task pending coro=<produce_activity() running at ./test-app/producer.py:12> cb=[remove_from_cache() at /usr/local/lib/python3.7/site-packages/newrelic/hooks/coroutines_asyncio.py:20, _run_until_complete_cb() at /usr/local/lib/python3.7/asyncio/base_events.py:157]> got Future <Future pending cb=[Topic._on_published(message=<FutureMessage pending>, state={}, producer=<Producer: running >)()]> attached to a different loop
 
[pid: 10|app: 0|req: 15952/63804] 10.0.225.22 () {60 vars in 2181 bytes} [Tue Nov  9 20:47:11 2021] POST /api/v1/lala/activity-request => generated 37 bytes in 506 msecs (HTTP/1.1 500) 2 headers in 90 bytes (1 switches on core 0)
 
Duplicate request.id = 505 workout time = 2021-08-28T08:27:21.000Z

Для трассировки я хочу отправлять полную трассировку одной строкой.

Возможно ли это сделать с помощью парсера fluentbit?

Вернуться на верх