Skip to main content

Rotates Zope logs

Project description

By Ingeniweb.

About

This product provides two additional logger handlers to the standard ones (see the doc in zope.conf) that rotate the log files.

It is not always possible to rotate Zope logs using system wide services. This utility enables to rotate automatically Zope logs (with or without zipping) using the features of the “logging” standard module.

Don’t look for new objects in the ZMI factory. All is configured in zope.conf (see Installation below.)

This is mainly useful for Windows : rotating logs from an external utility while Zope is up is not possible.

Note that the log rotation rules is based on the actual size of a log file, and not on time periods (cron like).

Requirements

Tested with Zope 2.8, Zope 2.9, Zope 2.10, Windows and Unix.

rotatezlogs does not require additional product.

Will not work with Zope 2.7.x. We should completely rework component.xml for this.

Installation

$ easy_install [options] iw.rotatezlogs

Configure the rotating file logger handler

In any logger directive of zope.conf, change the handler as in this example for the <eventlog>.

%import iw.rotatezlogs

<eventlog>
  # Usual options, see the doc in zope.conf
  level info
  <rotatelogfile>
    # Required parameters
    # -------------------
    path $INSTANCE/log/event.log
    # We'll get up to 6 Mb of logs
    max-bytes 1MB
    backup-count 5

    # Optional parameters
    # -------------------
    # compression zip
    # format ------\n%(asctime)s %(levelname)s %(name)s %(message)s
  </rotatelogfile>
</eventlog>

This works for other logs too (access, trace, zeo, …).

When the size is about to be exceeded, the file is closed and a new file is silently opened for output. Rollover occurs whenever the current log file is nearly max-bytes in length; if max-bytes is zero, rollover never occurs. If backup-count is non-zero, the system will save old log files by appending the extensions “.1”, “.2” etc., to the filename. For example, with a backup-count of 5 and a base file name of event.log, you would get event.log, event.log.1, event.log.2, up to event.log.5. The file being written to is always event.log. When this file is filled, it is closed and renamed to event.log.1, and if files event.log.1, event.log.2, etc. exist, then they are renamed to event.log.2, event.log.3 etc. respectively.

If you want compressed rotated log files, you can add the optional compression key parameter to the configuration. The value for compression can be:

  • none : the default, no compression is processed

  • zip : rotated files are zipped to xxx.log.1.zip etc.

  • gzip : rotated files are gzipped to xxx.log.1.gz etc.

  • bzip2 : rotated files are bzipped2 to xxx.log.1.bz2 etc.

Note that some systems or Python installations come with no bzip2 support. In such case, we use none compression as fallback. You can test the bzip2 support like this:

$ python
...
>>> import bz2

Install and configure a zope instance with buildout

The easiest way. Edit your buildout.cfg:

[instance]
...
eggs =
  ...
  iw.rotatezlogs
  ...

event-log-custom =
  %import iw.rotatezlogs
  <rotatelogfile>
    path ${buildout:directory}/var/log/instance.log
    max-bytes 1MB
    backup-count 5
  </rotatelogfile>

access-log-custom =
  %import iw.rotatezlogs
  <rotatelogfile>
    path ${buildout:directory}/var/log/instance-Z2.log
    max-bytes 1MB
    backup-count 5
  </rotatelogfile>

See previous section for detailed explanations.

Testing

Please read the …/rotatezlogs/tests/README.txt

Download

Stay in tune with the latest releases of rotatezlogs

Subversion reposo:

https://ingeniweb.svn.sourceforge.net/svnroot/ingeniweb/iw.rotatezlogs/

Releases:

http://pypi.python.org/pypi/iw.rotatezlogs

Support

Mail to Ingeniweb support

Donations are welcome for new features

Credits

The Ingeniweb team (c) 2006-2008

Based on an idea by Mark Hammond.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iw.rotatezlogs-0.1.2.tar.gz (58.1 kB view details)

Uploaded Source

Built Distribution

iw.rotatezlogs-0.1.2-py2.4.egg (67.2 kB view details)

Uploaded Source

File details

Details for the file iw.rotatezlogs-0.1.2.tar.gz.

File metadata

File hashes

Hashes for iw.rotatezlogs-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1d5fc3f964d80c426f1e8660d5e8192b3eca63169de6e8b3d0b4257b22b7390f
MD5 7d6875ade5a65249f3a8239f2b697bdf
BLAKE2b-256 0dcd051dcc3a109c6ceef739462df8f89bfdfb0cf03a0b25a4c917ae0627b0b8

See more details on using hashes here.

File details

Details for the file iw.rotatezlogs-0.1.2-py2.4.egg.

File metadata

File hashes

Hashes for iw.rotatezlogs-0.1.2-py2.4.egg
Algorithm Hash digest
SHA256 a3ca317d94b8a614aeb5270cabd8beeea928669d942c0aa34d0c23888cbc9fb3
MD5 5bbf8f78e585ec5428e5fcb52b6036e0
BLAKE2b-256 f53dbc0b1cc89c1beb3c31b7f2ed2b885b57be1e88cf4c7350ff8fbd5be4a58d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page