QtCS2017 Discuss Qt Logging enhancements
Discussion
- Structured logging:
- We want to extract information from logs and detect common messages. For example:
From | To |
---|---|
Got message "Hello" |
Got message "%s" Hello |
Got message "World" |
Got message "%s" World |
- We want to allow logging to store ancillary data, possibly in machine-readable format, likely not part of the message itself
- Like journald API can do
- How do we allow different formatting depending on backend? Needs to support formatting user types too.
- We want to allow logging to store ancillary data, possibly in machine-readable format, likely not part of the message itself
- Structured output
- Store to databases, for example
- Do we still obey QT_MESSAGE_PATTERN?
- Select backend with environment variable
Need to review with LTTNG and ETW tracing
Welcome text
Qt-based devices such as Medical Cyber-Physical Systems could be developed, verified and validated more efficiently using structured logs. We suggest Qt Logging enhancements that would facilitate both human exploration and automated analysis with Python or other tools. The session will allow:
- gathering your feedback
- examining which enhancements would be useful to Qt
and how to contribute them...
Use Cases
help development
help fixing bugs
...
Requirements
performance similar to the current state (or provide choice)
streaming generates a lot of code
do not change qdebug but provide structured tracing as a new facility
Enhancements?
extended handler with format
less literals in tracepoints
TSV+JSON vs text-only
Bind<TUserData>
format-free handler
performance requirements
smart trace points (id, count, sampling)