Go to file
Giuseppe D'Angelo eb63f2eb05 QMessageLogger: make qFatal categorized and streamable
There is no technical reason why qFatal shouldn't support categorized
logging, nor have a streaming version.

There is perhaps an API issue, that is, a streaming syntax may encourage
users to do "too much":

  qFatal() << gatherLogs() << saveDatabase() << ...;

and that sounds like a bad idea in case the application is in an
unrecoverable state that requires immedate terminatation (indeed,
through qFatal). I'd err on the side of providing the extra convenience.

This commits adds overloads of QMessageLogger::fatal to support
categorized logging (note that fatal messages cannot be disabled),
the relative qCFatal macro, as well as overloads for streaming.

[ChangeLog][QtCore][QMessageLogger] QMessageLogger::fatal now supports
categorized logging, for instance using the qCFatal(category) macro.
Moreover, qFatal() and qCFatal() now support streaming of values
to be printed in the fatal message.

Change-Id: Ia57f25f5c85fca97e5fcf27eaa760dbde09cba0e
Fixes: QTBUG-8298
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-12-05 04:15:39 +01:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Minor fixes for qt-configure-module 2022-06-27 17:55:19 +02:00
cmake fix pcre2 detection 2022-12-03 15:41:35 +01:00
coin Generally disable leak sanitizer in tests 2022-11-30 18:01:46 +01:00
config.tests Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Doc: Add a dark offline CSS 2022-11-11 18:48:50 +02:00
examples Avoid continuous texture alloc in Composition Modes example 2022-12-02 20:53:01 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
LICENSES Add license text file for Creative Commons Zero (CC0) 1.0 2022-10-19 12:06:09 +02:00
mkspecs Remove QMAKE_RANLIB and QMAKE_LINK_SHLIB from android/default_pre.prf 2022-12-01 02:23:52 +01:00
qmake Windows: centralize how we handle error messages 2022-11-16 19:44:43 +08:00
src QMessageLogger: make qFatal categorized and streamable 2022-12-05 04:15:39 +01:00
tests QMessageLogger: make qFatal categorized and streamable 2022-12-05 04:15:39 +01:00
util LocaleDB: Make passing qtbase root dir on command-lines optional 2022-11-01 19:14:14 +02:00
.cmake.conf Introduce QT_NO_AS_CONST and mark QtBase free of it 2022-11-27 17:14:28 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.bat Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure.cmake Disable openslv(11|30) if -no-openssl is passed to configure 2022-11-30 13:48:50 +00:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
qt_cmdline.cmake QCryptographicHash: implement OpenSSL 3.0 support 2022-09-26 17:26:37 +02:00
sync.profile Move qurltlds_p.h out of src/network, and make it a .cpp file 2022-10-01 06:24:51 +00:00