[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC] Don't send local debug output to stdout (was: pm_smbu
From: |
Stefan Weil |
Subject: |
[Qemu-devel] [RFC] Don't send local debug output to stdout (was: pm_smbus: remove #ifdef DEBUG) |
Date: |
Sun, 17 Jan 2010 17:09:32 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.22 (X11/20090707) |
Isaku Yamahata schrieb:
> On Wed, Jan 06, 2010 at 12:42:28PM +0100, Stefan Weil wrote:
>> Isaku Yamahata schrieb:
>>> remove #ifdef DEBUG by using macro.
>>>
>>> Signed-off-by: Isaku Yamahata <address@hidden>
>>> Acked-by: Gerd Hoffmann <address@hidden>
>>> ---
>>> hw/pm_smbus.c | 21 ++++++++++++---------
>>> 1 files changed, 12 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/hw/pm_smbus.c b/hw/pm_smbus.c
>>> index 6ef6b9e..9929d72 100644
>>> --- a/hw/pm_smbus.c
>>> +++ b/hw/pm_smbus.c
>>> @@ -37,6 +37,15 @@
>>> #define SMBHSTDAT1 0x06
>>> #define SMBBLKDAT 0x07
>>>
>>> +//#define DEBUG
>>> +
>>> +#ifdef DEBUG
>>> +# define SMBUS_DPRINTF(format, ...) printf(format, ## __VA_ARGS__)
>> Debug output should go to stderr. So this would be even better:
>>
>> +# define SMBUS_DPRINTF(format, ...) fprintf(stderr, format, ##
>> __VA_ARGS__)
>>
>
> Yes, in general.
> However the original code sends debug output to stdout and
> Most of debug output goes to stdout than stderr. You can easily
> see it by greping with DEBUG.
>
> So at this time, I'd like to send debug output to stdout.
> (And hopefully later create a framework and make debug output go
> to stderr consistently over sources.)
You are correct: there is much code which writes debug output to stdout.
When qemu is running in system mode with curses interface (-curses) or
serial console only (-nographic), debug output and system output will
be mixed on stdout. In many cases, this makes the output unreadable.
Therefore I prefer a separate output channel for debug messages.
The usual (and easiest) solution is directing them to stderr.
This allows mixing normal and debug output (sometimes a useful
feature) or separating them by using standard I/O redirection.
A more advanced solution could provide special logging functions.
Those could write debug messages to qemu.log (or some other file).
Debug messages from drivers could be prefixed using the qdev driver
name, we could support levels (info, warning, error, ....),
more than one output channel - everything typical logging frameworks
like log4c (or others) support.
I suggest these steps:
1. Debug output to stdout is no longer accepted for new / modified code.
2. New or modified debug messages should go to stderr.
3. Patches which switch debug output from stdout to stderr are accepted.
4. We discuss whether debug output to stderr is sufficient
or which logging framework should be used.
Please note that I talk here about debug log messages
which are activated by conditional compilation and
which are disabled normally (not those going to qemu.log).
Any comments are welcome.
Kind regards,
Stefan Weil
- [Qemu-devel] [PATCH V12 00/27] split out piix specific part from pc emulator and some clean ups, Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 23/27] pci hotadd, acpi_piix4: remove global variables., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 11/27] pc: introduce a function to allocate cpu irq., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 09/27] pc: remove a global variable, floppy_controller., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 25/27] acpi_piix4: remove #ifdef DEBUG., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 01/27] acpi: split out piix4 smbus routines from acpi.c into pm_smbus.c, Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 05/27] acpi_piix4: remove unused variable in get_pmsts()., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 27/27] mc146818rtc: remove #ifdef DEBUG_CMOS., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 12/27] pc: make pc_init1() not refer ferr_irq directly., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 08/27] pc: make an unnecessary global variable, pit, local., Isaku Yamahata, 2010/01/05
- [Qemu-devel] [PATCH V12 22/27] pci hotplug: add argument to pci hot plug callback., Isaku Yamahata, 2010/01/05