When QEMU is started with `--daemonize -D ${logfile} -d ${some_log_item}`, error logs from error_report() and friends go to ${logfile}, but if QEMU is started with `-daemonize -D ${logfile}` and no `-d`, the file isn't even created and all logs go to /dev/null.
This inconsistency is quite confusing for users and gives the impression that QEMU doesn't log errors at all. It seems much saner to always create the log file when `-D` was passed and to be able to report errors. It was spotted by the kata-containers project, which happens to do just that `--daemonize -D` without `-d` trick. v3: - drop log_append (Paolo's patch) - new approach : call qemu_log_trylock() from qemu_set_log_internal() in the per-thread case, instead of trying to special case the main thread v2: - new log_thread_id() implementation for hosts without gettid() syscall - avoid conflict between global log file and per-thread logfile - style improvements Greg Kurz (1): util/log: Always send errors to logfile when daemonized Paolo Bonzini (1): util/log: do not close and reopen log files when flags are turned off util/log.c | 84 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 58 insertions(+), 26 deletions(-) -- 2.38.1