@@ -56,9 +56,6 @@ static bool log_uses_own_buffers;
void qemu_set_log(int log_flags)
{
qemu_loglevel = log_flags;
-#ifdef CONFIG_TRACE_LOG
- qemu_loglevel |= LOG_TRACE;
-#endif
if (!qemu_logfile &&
(is_daemonized() ? logfilename != NULL : qemu_loglevel)) {
if (logfilename) {
@@ -2908,6 +2908,7 @@ int main(int argc, char **argv, char **envp)
Error *err = NULL;
bool list_data_dirs = false;
char *dir, **dirs;
+ int maybe_log_trace = 0;
typedef struct BlockdevOptions_queue {
BlockdevOptions *bdo;
Location loc;
@@ -3985,6 +3986,19 @@ int main(int argc, char **argv, char **envp)
}
trace_init_file(trace_file);
+#if defined(CONFIG_TRACE_SIMPLE) && defined(CONFIG_TRACE_LOG)
+ /* If the user has both log and simple tracing enabled but hasn't
+ * defined a binary trace file ensure we enable the right logging
+ * flags.
+ */
+ if (!trace_file) {
+ maybe_log_trace = LOG_TRACE;
+ }
+#elif defined CONFIG_TRACE_LOG
+ /* with just CONFIG_TRACE_LOG we enable unconditionally */
+ maybe_log_trace = LOG_TRACE;
+#endif
+
/* Open the logfile at this point and set the log mask if necessary.
*/
if (log_file) {
@@ -3998,9 +4012,9 @@ int main(int argc, char **argv, char **envp)
qemu_print_log_usage(stdout);
exit(1);
}
- qemu_set_log(mask);
+ qemu_set_log(mask | maybe_log_trace);
} else {
- qemu_set_log(0);
+ qemu_set_log(maybe_log_trace);
}
/* add configured firmware directories */
When multiple tracers are enabled and you want to save to binary we shouldn't assume the user also wants to spam the log. They can always override it manually if they want. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- util/log.c | 3 --- vl.c | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) -- 2.17.1