[Ovirt-devel] [PATCH] Redirecting all logs to /var/log/ovirt.log

Perry N. Myers pmyers at redhat.com
Mon Jul 14 19:24:46 UTC 2008


Jeff Schroeder wrote:
> On Mon, Jul 14, 2008 at 11:57 AM, Chris Lalancette <clalance at redhat.com> wrote:
>> Darryl L. Pierce wrote:
>>> Given how short our scripts are, I don't see a benefit to inserting a
>>> method in between the entry point and the functionality.  However,I do
>>> like the failure notice as opposed to just exiting the script. So I've
>>> pulled that into the script and replaced all calls to die "message" with:
>>>
>>> function start () {
>>>       wget -q -o "some url" || echo "message" && return 1
>>> }
>>>
>>> I'll have a patch out shortly once I run through tests.
>> I think what Perry is trying to get at is that it would be nice to both display
>> an [ OK ] or [ FAIL ] message at the console (like all of the other init scripts
>> do), but to also put more verbose output into a logging directory for debugging.
>>   That way, if you see you have a [ FAIL ], you at least have an opportunity to
>> debug it.  The other advantage is that you don't have redirects littered
>> throughout the code for each individual line, and new code (if and when we need
>> it) automatically get logged to the appropriate place.
>>
>> Oh, one other nit-pick from me; I would name the log something like
>> /var/log/ovirt-init.log, to make entirely clear it is the output from the init
>> scripts.
> My take it it should actually use syslog(3) which by default sends it
> to /var/log/messages.
> Instead of using output redirection, can you use logger(1)? Even if
> you insist on a seperate
> logfile, it will do these things for you with "-f".
> 
> When you've built out a sizable syslog infrastructure accross your datacenters,
> it is nice when important applications such as ovirt actually use it.
> 
> For shell scripts, something like:
> logger -t ovirt-init -p daemon.$level "message"; exit $RETVAL
> ...
> logger -t ovirt-init -p daemon.warn "Ovirt starting"
> logger -t ovirt-init -p daemon.error "Can not start daemon for some reason"
> 
> # Not tested, just typed into gmail's web interface.
> function log() {
>     level=$1
>     shift
>     message="$*"
>     logger -t ovirt-init -p daemon.$level "$message"
> }
> ...
> 
> Called via something like:
> log warn "This is a warning from ovirt-init"
> 
> If you wanted to be really fancy, put a case statement towards the bottom
> of the log function that would exit on crit, emerg, panic, and error levels.
> 
> What do you think of that?
> 

I like the idea of using logger for info/error/warning messages, but the 
primary purpose of the /var/log/ovirt.log file is really for ease in 
debugging...  i.e. we want to be able to capture the output (fairly 
verbose) of ovirt-identify-node and other programs that are running.  Not 
sure if that kind of verbose output belongs in /var/log/messages.

Might make sense to do what Darryl's patch is doing for use in debugging, 
but still use a few calls to logger in the init scripts so that important 
messages get logged that way.

Perry


-- 
|=-        Red Hat, Engineering, Emerging Technologies, Boston        -=|
|=-                     Email: pmyers at redhat.com                      -=|
|=-         Office: +1 412 474 3552   Mobile: +1 703 362 9622         -=|
|=- GnuPG: E65E4F3D 88F9 F1C9 C2F3 1303 01FE 817C C5D2 8B91 E65E 4F3D -=|




More information about the ovirt-devel mailing list