Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 2e4c72cf51bb52f16ff834455f64d55560e52a83
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Tue Oct 21 12:02:08 2014 +0200
[keygen] replaced Python RotatedFileHandler with logrotate.d
---------------------------------------------------------------
keygen/configs/logrotate | 12 ++++++++++++
keygen/copr-keygen.spec | 9 ++++++++-
keygen/src/copr_keygen/__init__.py | 6 ++----
3 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/keygen/configs/logrotate b/keygen/configs/logrotate
new file mode 100644
index 0000000..17754dd
--- /dev/null
+++ b/keygen/configs/logrotate
@@ -0,0 +1,12 @@
+/var/log/copr-keygen/*.log {
+ weekly
+ rotate 5
+ copytruncate
+ compress
+ notifempty
+ missingok
+ create 640 copr-signer copr-signer
+ postrotate
+ /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
+ endscript
+}
diff --git a/keygen/copr-keygen.spec b/keygen/copr-keygen.spec
index b386b57..75a3204 100644
--- a/keygen/copr-keygen.spec
+++ b/keygen/copr-keygen.spec
@@ -45,6 +45,7 @@ Requires: httpd
Requires: obs-signd
Requires: passwd
+Requires: logrotate
Requires: python3-setuptools
Requires: python3-six
Requires: python3-flask
@@ -119,11 +120,14 @@ install -d %{buildroot}%{_bindir}
install -d -m 500 %{buildroot}%{_sharedstatedir}/copr-keygen/phrases
install -d -m 500 %{buildroot}%{_sharedstatedir}/copr-keygen/gnupg
install -d %{buildroot}%{_localstatedir}/log/copr-keygen
+install -d %{buildroot}%{_sysconfdir}/logrotate.d/
%{__install} -p -m 0755 run/gpg_copr.sh %{buildroot}/%{_bindir}/gpg_copr.sh
%{__install} -p -m 0755 run/application.py %{buildroot}%{_datadir}/copr-keygen/
%{__install} -p -m 0644 configs/httpd/copr-keygen.conf.example
%{buildroot}%{_pkgdocdir}/httpd/
+%{__install} -p -m 0644 configs/logrotate
%{buildroot}%{_sysconfdir}/logrotate.d/copr-keygen
+
%{__install} -p -m 0644 configs/sign/sign.conf.example
%{buildroot}%{_pkgdocdir}/sign/sign.conf.example
cp -a configs/sudoers/copr_signer %{buildroot}%{_sysconfdir}/sudoers.d/copr_signer
@@ -164,7 +168,10 @@ service httpd condrestart
%defattr(600, copr-signer, copr-signer, 700)
%{_sharedstatedir}/copr-keygen
%config(noreplace) %{_sysconfdir}/copr-keygen
-%{_localstatedir}/log/copr-keygen/
+
+%{_sysconfdir}/logrotate.d/copr-keygen
+
+%dir %{_localstatedir}/log/copr-keygen
%ghost %{_localstatedir}/log/copr-keygen/main.log
diff --git a/keygen/src/copr_keygen/__init__.py b/keygen/src/copr_keygen/__init__.py
index 0388d18..33a3b03 100644
--- a/keygen/src/copr_keygen/__init__.py
+++ b/keygen/src/copr_keygen/__init__.py
@@ -7,7 +7,7 @@ from __future__ import absolute_import
import json
import logging
from logging import getLogger
-from logging.handlers import RotatingFileHandler
+from logging import FileHandler
from flask import Flask, request, Response
import os
@@ -23,9 +23,7 @@ app.config.from_envvar("COPR_KEYGEN_CONFIG", silent=True)
if not app.config["DEBUG"] or app.config["DEBUG_WITH_LOG"]:
filename = os.path.join(app.config["LOG_DIR"], "main.log")
if os.path.exists(app.config["LOG_DIR"]):
- handler = RotatingFileHandler(filename,
- maxBytes=50*1024*1024,
- backupCount=5)
+ handler = FileHandler(filename)
handler.setLevel(app.config["LOG_LEVEL"])
handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)s'