# Logfiles generated by Django understand logrotate's standard # "create" functionality, via logging.handlers.WatchedFileHandler /var/log/zulip/analytics.log /var/log/zulip/auth.log /var/log/zulip/digest.log /var/log/zulip/email_deliverer.log /var/log/zulip/email_content.log /var/log/zulip/email_mirror.log /var/log/zulip/errors.log /var/log/zulip/ldap.log /var/log/zulip/manage.log /var/log/zulip/message_retention.log /var/log/zulip/deliver_scheduled_messages.log /var/log/zulip/send_email.log /var/log/zulip/slow_queries.log /var/log/zulip/soft_deactivation.log /var/log/zulip/sync_ldap_user_data.log /var/log/zulip/webhooks_errors.log /var/log/zulip/webhooks_unsupported_events.log /var/log/zulip/workers.log /var/log/zulip/registration.log { missingok rotate 3 size 25M compress delaycompress notifempty create 644 zulip zulip } /var/log/zulip/server.log { missingok rotate <%= @access_log_retention_days %> daily compress delaycompress notifempty create 644 zulip zulip } # Logfiles generated from supervisor _do not_ understand logrotate, # and thus must use copytruncate. They also must not use supervisor's # built-in log rotation. /var/log/zulip/tornado-*.log /var/log/zulip/tornado.log /var/log/zulip/tusd.log { missingok rotate <%= @access_log_retention_days %> daily compress delaycompress notifempty copytruncate }