Add file based rotating log handler

This commit is contained in:
Lauri Võsandi 2017-04-04 05:02:08 +00:00
parent e506ea61be
commit 90b663ce26
10 changed files with 26 additions and 18 deletions

View File

@ -16,7 +16,7 @@ from certidude.decorators import serialize, event_source, csrf_protection
from cryptography.x509.oid import NameOID
from certidude import const, config
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
class CertificateStatusResource(object):
"""

View File

@ -7,7 +7,7 @@ from datetime import datetime
from certidude import config, authority
from certidude.decorators import serialize
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
class AttributeResource(object):
@serialize

View File

@ -3,7 +3,7 @@ import hashlib
from certidude import config, authority
from certidude.auth import login_required
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
KEYWORDS = (
(u"Android", u"android"),

View File

@ -9,8 +9,7 @@ from certidude.decorators import serialize
from certidude.relational import RelationalMixin
from jinja2 import Environment, FileSystemLoader
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
env = Environment(loader=FileSystemLoader("/etc/certidude/scripts"), trim_blocks=True)
SQL_SELECT_INHERITED = """

View File

@ -1,5 +1,6 @@
import click
import logging
import xattr
from datetime import datetime
from pyasn1.codec.der import decoder
@ -7,6 +8,8 @@ from certidude import config, authority, push
from certidude.auth import login_required, authorize_admin
from certidude.decorators import serialize
logger = logging.getLogger(__name__)
# TODO: lease namespacing (?)
class LeaseDetailResource(object):

View File

@ -19,7 +19,7 @@ from cryptography.exceptions import InvalidSignature
from cryptography.x509.oid import NameOID
from datetime import datetime
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
class RequestListResource(object):
@login_optional

View File

@ -9,7 +9,7 @@ from cryptography import x509
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.serialization import Encoding
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
class RevocationListResource(object):
def on_get(self, req, resp):

View File

@ -7,7 +7,7 @@ from certidude import authority
from certidude.auth import login_required, authorize_admin
from certidude.decorators import csrf_protection
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
class SignedCertificateDetailResource(object):
def on_get(self, req, resp, cn):

View File

@ -5,7 +5,7 @@ from certidude import authority, push
from certidude.auth import login_required, authorize_admin
from certidude.decorators import serialize, csrf_protection
logger = logging.getLogger("api")
logger = logging.getLogger(__name__)
class TagResource(object):
@serialize

View File

@ -28,6 +28,7 @@ from jinja2 import Environment, PackageLoader
from setproctitle import setproctitle
import const
logger = logging.getLogger(__name__)
env = Environment(loader=PackageLoader("certidude", "templates"), trim_blocks=True)
# http://www.mad-hacking.net/documentation/linux/security/ssl-tls/creating-ca.xml
@ -1062,6 +1063,7 @@ def certidude_serve(port, listen, fork):
from certidude import const
click.echo("Using configuration from: %s" % const.CONFIG_PATH)
log_handlers = []
from certidude import config
@ -1071,6 +1073,11 @@ def certidude_serve(port, listen, fork):
_, _, uid, gid, gecos, root, shell = pwd.getpwnam("certidude")
restricted_groups = []
restricted_groups.append(gid)
from logging.handlers import RotatingFileHandler
rh = RotatingFileHandler("/var/log/certidude.log", maxBytes=1048576*5, backupCount=5)
rh.setFormatter(logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s"))
log_handlers.append(rh)
"""
Spawn signer process
@ -1169,8 +1176,6 @@ def certidude_serve(port, listen, fork):
# Set up log handlers
log_handlers = []
if config.LOGGING_BACKEND == "sql":
from certidude.mysqllog import LogHandler
from certidude.api.log import LogResource
@ -1188,18 +1193,19 @@ def certidude_serve(port, listen, fork):
from certidude.push import EventSourceLogHandler
log_handlers.append(EventSourceLogHandler())
for facility in "api", "cli":
logger = logging.getLogger(facility)
logger.setLevel(logging.DEBUG)
for handler in log_handlers:
logger.addHandler(handler)
for j in logging.Logger.manager.loggerDict.values():
if isinstance(j, logging.Logger): # PlaceHolder is what?
if j.name.startswith("certidude."):
j.setLevel(logging.DEBUG)
for handler in log_handlers:
j.addHandler(handler)
def exit_handler():
logging.getLogger("cli").debug("Shutting down Certidude")
logger.debug("Shutting down Certidude")
import atexit
atexit.register(exit_handler)
logging.getLogger("cli").debug("Started Certidude at %s", const.FQDN)
logger.debug("Started Certidude at %s", const.FQDN)
if not fork or not os.fork():
httpd.serve_forever()