From 30bfcaaa6d7e9fb92346554c57f1af443a44c8fe Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Tue, 13 Aug 2019 01:42:29 -0700 Subject: [PATCH] qemu: add debug logfile When LogFile is specified, output debug log there. Signed-off-by: Peng Tao --- qemu/qemu.go | 11 +++++++++++ qemu/qemu_test.go | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/qemu/qemu.go b/qemu/qemu.go index bd883f881b..e1394831e6 100644 --- a/qemu/qemu.go +++ b/qemu/qemu.go @@ -1557,6 +1557,9 @@ type Config struct { // PidFile is the -pidfile parameter PidFile string + // LogFile is the -D parameter + LogFile string + qemuParams []string } @@ -1880,6 +1883,13 @@ func (config *Config) appendPidFile() { } } +func (config *Config) appendLogFile() { + if config.LogFile != "" { + config.qemuParams = append(config.qemuParams, "-D") + config.qemuParams = append(config.qemuParams, config.LogFile) + } +} + // LaunchQemu can be used to launch a new qemu instance. // // The Config parameter contains a set of qemu parameters and settings. @@ -1906,6 +1916,7 @@ func LaunchQemu(config Config, logger QMPLog) (string, error) { config.appendIOThreads() config.appendIncoming() config.appendPidFile() + config.appendLogFile() if err := config.appendCPUs(); err != nil { return "", err diff --git a/qemu/qemu_test.go b/qemu/qemu_test.go index 5307c2d9bf..577660d783 100644 --- a/qemu/qemu_test.go +++ b/qemu/qemu_test.go @@ -712,7 +712,8 @@ func TestAppendQMPSocketServer(t *testing.T) { } var pidfile = "/run/vc/vm/iamsandboxid/pidfile" -var qemuString = "-name cc-qemu -cpu host -uuid " + agentUUID + " -pidfile " + pidfile +var logfile = "/run/vc/vm/iamsandboxid/logfile" +var qemuString = "-name cc-qemu -cpu host -uuid " + agentUUID + " -pidfile " + pidfile + " -D " + logfile func TestAppendStrings(t *testing.T) { config := Config{ @@ -721,12 +722,14 @@ func TestAppendStrings(t *testing.T) { UUID: agentUUID, CPUModel: "host", PidFile: pidfile, + LogFile: logfile, } config.appendName() config.appendCPUModel() config.appendUUID() config.appendPidFile() + config.appendLogFile() result := strings.Join(config.qemuParams, " ") if result != qemuString {