Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Sep 2000 15:24:43 +0300
From:      Peter Pentchev <roam@orbitel.bg>
To:        Alexander Maret <maret@atrada.net>
Cc:        "'freebsd-hackers@freebsd.org'" <freebsd-hackers@freebsd.org>
Subject:   Re: Redirect stdout/stderr to syslog [OFF-TOPIC]
Message-ID:  <20000901152443.K46859@ringwraith.office1.bg>
In-Reply-To: <58A002A02C5ED311812E0050044517F00D25DB@erlangen01.atrada.de>; from maret@atrada.net on Fri, Sep 01, 2000 at 02:13:19PM %2B0200
References:  <58A002A02C5ED311812E0050044517F00D25DB@erlangen01.atrada.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 01, 2000 at 02:13:19PM +0200, Alexander Maret wrote:
> > -----Ursprungliche Nachricht-----
> > Von: Peter Pentchev [mailto:roam@orbitel.bg]
> > Gesendet: Freitag, 1. September 2000 14:00
> > 
> > man 1 logger
> > 
> > pipe your stdout/stderr to logger(1), and you're all set.  
> > You may even
> > specify a facility/level to log with.
> > 
> 
> Thanks for your quick answer but I would prefer to
> do it entirely in C without calling external progs. 
> I could think of a solution forking another child process 
> which does the syslog logging and redirecting stdout/stderr
> of the execvped program via IPC to this child.
> 
> But is there any easier solution?

No, I don't think you can do anything cheaper than a fork and
a pipe(2). popen(), as suggested in another message, is pretty
much the same.  I don't think stdio has a hook to capture all
the data a process is sending to a stream, and pass it to some
routine - that would be perfect, but unfortunately, I am not
aware of such a thing.  I might be wrong though.

G'luck,
Peter

-- 
This sentence contradicts itself - or rather - well, no, actually it doesn't!


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000901152443.K46859>