Plan B for log rotation support: borrow Apache code

Started by Tom Laneover 22 years ago6 messages
#1Tom Lane
tgl@sss.pgh.pa.us

Something we've discussed repeatedly is adding a log rotation program to
the distribution so that we don't have to hand-wave in the part of the
documentation that talks about setting up non-syslog-based logging.
A few weeks ago Andrew Sullivan offered the rotator his company uses,
but there were various objections to it (mainly that it couldn't coexist
with pg_ctl, IIRC).

I think a reasonable Plan B is to borrow Apache's rotatelogs program
hook, line, and sinker, and include it as a contrib module. It's small
and it does exactly what we want: read stdin and drop it into a series
of text files. The license can be read at
http://www.apache.org/LICENSE.txt
It's essentially BSD terms; I think all we would need to do differently
from what we'd do with homegrown code is include the text of the Apache
license in the README.rotatelogs documentation file that the contrib
module would install.

It would take an hour or two's work to put together a standalone version
of rotatelogs.c (one that doesn't depend on the Apache Portable Runtime
library). Seems well worth it to me. Does anyone have an objection to
doing this?

regards, tom lane

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tom Lane (#1)
Re: Plan B for log rotation support: borrow Apache code

Peter Eisentraut <peter_e@gmx.net> writes:

Or we could take the one I posted, which does exactly the same thing as
Apache's (at least about a year ago, not sure where the APR plays in
nowadays), thus shortcircuiting that porting effort.

I'd forgotten that one. Where is it again?

regards, tom lane

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#1)
Re: Plan B for log rotation support: borrow Apache code

Tom Lane writes:

It would take an hour or two's work to put together a standalone version
of rotatelogs.c (one that doesn't depend on the Apache Portable Runtime
library). Seems well worth it to me. Does anyone have an objection to
doing this?

Or we could take the one I posted, which does exactly the same thing as
Apache's (at least about a year ago, not sure where the APR plays in
nowadays), thus shortcircuiting that porting effort.

--
Peter Eisentraut peter_e@gmx.net

#4Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Tom Lane (#2)
Re: Plan B for log rotation support: borrow Apache code

Tom Lane wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Or we could take the one I posted, which does exactly the same thing as
Apache's (at least about a year ago, not sure where the APR plays in
nowadays), thus shortcircuiting that porting effort.

I'd forgotten that one. Where is it again?

I just bounced it the hackers list. It has an April date.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#5Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Tom Lane (#2)
2 attachment(s)
Re: Plan B for log rotation support: borrow Apache code

Here are the log scripts posted by Andrew Sullivan and Peter E.

---------------------------------------------------------------------------

Tom Lane wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Or we could take the one I posted, which does exactly the same thing as
Apache's (at least about a year ago, not sure where the APR plays in
nowadays), thus shortcircuiting that porting effort.

I'd forgotten that one. Where is it again?

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Attachments:

/bjm/andrewtext/plainDownload
/bjm/petertext/plainDownload
#6Andrew Dunstan
andrew@dunslane.net
In reply to: Tom Lane (#1)
Re: Plan B for log rotation support: borrow Apache code

Plan B.0.1 might be to get the version of rotatelogs.c from the Apache 1.3
branch so that removing the APR stuff wasn't necessary (IIRC APR is a purely
2.x thing in Apache).

Can be viewed here:
http://cvs.apache.org/viewcvs.cgi/apache-1.3/src/support/rotatelogs.c

Or else use the one from Peter, I don't care, just pointing out that
removing APR shouldn't be necessary.

andrew (big fan of not reinventing the wheel - good programmers write code,
great programmers steal code ;-)

----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: <pgsql-hackers@postgresql.org>
Sent: Friday, May 23, 2003 3:13 PM
Subject: [HACKERS] Plan B for log rotation support: borrow Apache code

Show quoted text

Something we've discussed repeatedly is adding a log rotation program to
the distribution so that we don't have to hand-wave in the part of the
documentation that talks about setting up non-syslog-based logging.
A few weeks ago Andrew Sullivan offered the rotator his company uses,
but there were various objections to it (mainly that it couldn't coexist
with pg_ctl, IIRC).

I think a reasonable Plan B is to borrow Apache's rotatelogs program
hook, line, and sinker, and include it as a contrib module. It's small
and it does exactly what we want: read stdin and drop it into a series
of text files. The license can be read at
http://www.apache.org/LICENSE.txt
It's essentially BSD terms; I think all we would need to do differently
from what we'd do with homegrown code is include the text of the Apache
license in the README.rotatelogs documentation file that the contrib
module would install.

It would take an hour or two's work to put together a standalone version
of rotatelogs.c (one that doesn't depend on the Apache Portable Runtime
library). Seems well worth it to me. Does anyone have an objection to
doing this?

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org