Date: Fri, 2 Apr 2004 10:18:44 -0600 From: Dan Nelson <dnelson@allantgroup.com> To: James Housley <jim@thehousleys.net> Cc: freebsd-hackers@freebsd.org Subject: Re: Loosing STDOUT after file rotation Message-ID: <20040402161844.GB6724@dan.emsphone.com> In-Reply-To: <406C8F4F.1040306@Thehousleys.net> References: <406C8F4F.1040306@Thehousleys.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Apr 01), James Housley said: > I have a program that I have the is supposed to run forever. I log any > output to a log file. It is run in a startup script like thie: > > program_name >> $err_log 2>&1 > > The problem is that after newsyslog rotates the $err_log file, no more > data is written to the file. I can not stop and restart the program. I > can accept a signal. But what do I need to do in "program_name" to allow > the data to be written after the "rotation" of the file. Run "program_name 2>&1 | logger daemon.notice -t program_name", so messages go through syslog (/etc/rc.d/bgfsck does this). You can use programname filtering in syslog.conf to write that output to its own logfile. There's nothing program_name itself can do about the problem, since it didn't open the logfile; the shell did. -- Dan Nelson dnelson@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040402161844.GB6724>