kaskada-ai / kaskada

Modern, open-source event-processing
https://kaskada.io/
Apache License 2.0
349 stars 15 forks source link

feat: Render Wren's logs better #256

Open kerinin opened 1 year ago

kerinin commented 1 year ago

Summary @stinkymatt has been running Kaskada from Python and the log output is hard to read, for example newlines are ignored. This may be related to log coloring.

Options that have been discussed:

bjchambers commented 1 year ago

This may also apply to the Sparrow logs.

bjchambers commented 1 year ago

If we went the route of JSON logging, it could also be a path towards better interactions with the logs. For instance, we could use jq to filter to the logs that have a given request_id, etc.

therapon commented 1 year ago

+1 on JSON

It seems to be the common format used for structured logging which will allow easy ingestion into existing tools (Sumo comes to mind)

epinzur commented 1 year ago

Both wren and sparrow are capable of producing json logs, although I think they output in different formats.

However, I generally think text logs are easier for humans to read.

Do we think the wren & sparrow logs in the notebook will be more often read by humans or other processing systems/tools?

I think out decisions here should be based on the answer to this question.

kerinin commented 1 year ago

Our logs as they exist today aren't very human-friendly, but I mostly find myself using them to try to diagnose a failures, either by looking at the most recent logs (local execution) or searching for a request ID (remote execution).

I can't think of any ways that I would setup an automated system to consume the logs, although some of the tools we've used in the past for interacting over logs in bulk took advantage of structured logging to allow querying logs in a richer way.