QtCS2017 Discuss Qt Logging enhancements

From Qt Wiki
Jump to navigation Jump to search

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.
  • 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)