[Zope] rotate Z2.log

Andy McKay andym@ActiveState.com
Mon, 28 Aug 2000 10:00:44 -0700


You can patch Z2.py

so that line 599 (or thereabouts) instead of:

lg = logger.file_logger(LOG_PATH)

reads:

lg = logger.rotating_file_logger(LOG_PATH, freq='daily', maxsize=4000000)

----- Original Message -----
From: "Marcin Kasperski" <Marcin.Kasperski@softax.com.pl>
To: "Zope List Submission" <zope@zope.org>
Sent: Monday, August 28, 2000 6:39 AM
Subject: Re: [Zope] rotate Z2.log


> Marcus Mendes wrote:
> >
> > Hello,
> >
> > How can I rotate my Z2.log??  It's very large !
> >
>
> Using the same method as for rotating Apache logs. For instance, on my
> Debian Linux I created the file
> /etc/cron.daily/zope_daily
> (made via copying and editing equivalent file for Apache), which rotates
> logs. Examine the attachement...
>
>
>
> -- Serwis dla programistów, kącik mieszkaniowy: http://www.mk.w.pl
> |
> | The only way to truly control a software project is to continuously
> | measure its progress, compare that  to the plan, and then adjust the
> | development  parameters to correct any deviation. Simple. (Martin)


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


> #!/bin/sh
> #
> # Rotowanie logów zope
>
> cd /opt/Zope-var/var
>
> LOGS=/opt/Zope-var/var/Z2.log
> USR=www-data
> GRP=www-data
>
> [ -f $LOGS ] || exit 0
>
> APACHE_OLD_LOGS=35
> APACHE_DAYS_TO_RUN=all
> APACHE_DAY_TO_RUN=any
> APACHE_POST_SCRIPT=
> APACHE_CHOWN_LOGFILES=1
>
> umask 022
>
> RUNTODAY=0
>
> if [ "$APACHE_DAY_TO_RUN" = "any" ] ; then
>
>     # Get today's day and convert to lowercase.
>     TODAY=$(date +%a | tr 'A-Z' 'a-z')
>     # Convert days_to_run to lowercase.
>     APACHE_DAYS_TO_RUN=$(echo $APACHE_DAYS_TO_RUN | tr 'A-Z' 'a-z')
>     echo "$APACHE_DAYS_TO_RUN" | grep -q "$TODAY" && RUNTODAY=1
>     [ "$APACHE_DAYS_TO_RUN" = "all" ] && RUNTODAY=1
>
> else
>
>     # Get today's day: 01 .. 31
>     TODAY=$(date +%d | cat)
>     if [ $APACHE_DAY_TO_RUN = "$TODAY" ] ; then RUNTODAY=1; fi
>
>     # Get today's day: 001 .. 366
>     TODAY=$(date +%j | cat)
>     if [ $APACHE_DAY_TO_RUN = "$TODAY" ] ; then RUNTODAY=1; fi
>
> fi
>
> if [ "$RUNTODAY" = "1" ] ; then
>
>     for LOG in $LOGS
>     do
> if [ -f $LOG ]
> then
>     if [ "$APACHE_CHOWN_LOGFILES" = "1" ]
>     then
> savelog -c $APACHE_OLD_LOGS -m 664 -u $USR -g $GRP \
>     $LOG > /dev/null
>     else
> savelog -c $APACHE_OLD_LOGS -m 644 -u root -g root \
> $LOG > /dev/null
>     fi
> fi
>     done
>
>     /etc/init.d/zope restart
>
> #    # Send a reload signal to the e server.
> #    /etc/init.d/apache reload > /dev/null
>
>     # Run apache post processing script if executable.
>     if [ -x "$APACHE_POST_SCRIPT" ]
>     then
> $APACHE_POST_SCRIPT
>     fi
>
> fi
>