mirror of
				https://github.com/laurivosandi/certidude
				synced 2025-10-31 01:19:11 +00:00 
			
		
		
		
	Add file based rotating log handler
This commit is contained in:
		| @@ -16,7 +16,7 @@ from certidude.decorators import serialize, event_source, csrf_protection | |||||||
| from cryptography.x509.oid import NameOID | from cryptography.x509.oid import NameOID | ||||||
| from certidude import const, config | from certidude import const, config | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| class CertificateStatusResource(object): | class CertificateStatusResource(object): | ||||||
|     """ |     """ | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ from datetime import datetime | |||||||
| from certidude import config, authority | from certidude import config, authority | ||||||
| from certidude.decorators import serialize | from certidude.decorators import serialize | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| class AttributeResource(object): | class AttributeResource(object): | ||||||
|     @serialize |     @serialize | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ import hashlib | |||||||
| from certidude import config, authority | from certidude import config, authority | ||||||
| from certidude.auth import login_required | from certidude.auth import login_required | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| KEYWORDS = ( | KEYWORDS = ( | ||||||
|     (u"Android", u"android"), |     (u"Android", u"android"), | ||||||
|   | |||||||
| @@ -9,8 +9,7 @@ from certidude.decorators import serialize | |||||||
| from certidude.relational import RelationalMixin | from certidude.relational import RelationalMixin | ||||||
| from jinja2 import Environment, FileSystemLoader | from jinja2 import Environment, FileSystemLoader | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| env = Environment(loader=FileSystemLoader("/etc/certidude/scripts"), trim_blocks=True) | env = Environment(loader=FileSystemLoader("/etc/certidude/scripts"), trim_blocks=True) | ||||||
|  |  | ||||||
| SQL_SELECT_INHERITED = """ | SQL_SELECT_INHERITED = """ | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
|  |  | ||||||
| import click | import click | ||||||
|  | import logging | ||||||
| import xattr | import xattr | ||||||
| from datetime import datetime | from datetime import datetime | ||||||
| from pyasn1.codec.der import decoder | 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.auth import login_required, authorize_admin | ||||||
| from certidude.decorators import serialize | from certidude.decorators import serialize | ||||||
|  |  | ||||||
|  | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| # TODO: lease namespacing (?) | # TODO: lease namespacing (?) | ||||||
|  |  | ||||||
| class LeaseDetailResource(object): | class LeaseDetailResource(object): | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ from cryptography.exceptions import InvalidSignature | |||||||
| from cryptography.x509.oid import NameOID | from cryptography.x509.oid import NameOID | ||||||
| from datetime import datetime | from datetime import datetime | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| class RequestListResource(object): | class RequestListResource(object): | ||||||
|     @login_optional |     @login_optional | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ from cryptography import x509 | |||||||
| from cryptography.hazmat.backends import default_backend | from cryptography.hazmat.backends import default_backend | ||||||
| from cryptography.hazmat.primitives.serialization import Encoding | from cryptography.hazmat.primitives.serialization import Encoding | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| class RevocationListResource(object): | class RevocationListResource(object): | ||||||
|     def on_get(self, req, resp): |     def on_get(self, req, resp): | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ from certidude import authority | |||||||
| from certidude.auth import login_required, authorize_admin | from certidude.auth import login_required, authorize_admin | ||||||
| from certidude.decorators import csrf_protection | from certidude.decorators import csrf_protection | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| class SignedCertificateDetailResource(object): | class SignedCertificateDetailResource(object): | ||||||
|     def on_get(self, req, resp, cn): |     def on_get(self, req, resp, cn): | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ from certidude import authority, push | |||||||
| from certidude.auth import login_required, authorize_admin | from certidude.auth import login_required, authorize_admin | ||||||
| from certidude.decorators import serialize, csrf_protection | from certidude.decorators import serialize, csrf_protection | ||||||
|  |  | ||||||
| logger = logging.getLogger("api") | logger = logging.getLogger(__name__) | ||||||
|  |  | ||||||
| class TagResource(object): | class TagResource(object): | ||||||
|     @serialize |     @serialize | ||||||
|   | |||||||
| @@ -28,6 +28,7 @@ from jinja2 import Environment, PackageLoader | |||||||
| from setproctitle import setproctitle | from setproctitle import setproctitle | ||||||
| import const | import const | ||||||
|  |  | ||||||
|  | logger = logging.getLogger(__name__) | ||||||
| env = Environment(loader=PackageLoader("certidude", "templates"), trim_blocks=True) | env = Environment(loader=PackageLoader("certidude", "templates"), trim_blocks=True) | ||||||
|  |  | ||||||
| # http://www.mad-hacking.net/documentation/linux/security/ssl-tls/creating-ca.xml | # 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 |     from certidude import const | ||||||
|     click.echo("Using configuration from: %s" % const.CONFIG_PATH) |     click.echo("Using configuration from: %s" % const.CONFIG_PATH) | ||||||
|  |  | ||||||
|  |     log_handlers = [] | ||||||
|  |  | ||||||
|     from certidude import config |     from certidude import config | ||||||
|  |  | ||||||
| @@ -1071,6 +1073,11 @@ def certidude_serve(port, listen, fork): | |||||||
|         _, _, uid, gid, gecos, root, shell = pwd.getpwnam("certidude") |         _, _, uid, gid, gecos, root, shell = pwd.getpwnam("certidude") | ||||||
|         restricted_groups = [] |         restricted_groups = [] | ||||||
|         restricted_groups.append(gid) |         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 |     Spawn signer process | ||||||
| @@ -1169,8 +1176,6 @@ def certidude_serve(port, listen, fork): | |||||||
|  |  | ||||||
|  |  | ||||||
|     # Set up log handlers |     # Set up log handlers | ||||||
|     log_handlers = [] |  | ||||||
|  |  | ||||||
|     if config.LOGGING_BACKEND == "sql": |     if config.LOGGING_BACKEND == "sql": | ||||||
|         from certidude.mysqllog import LogHandler |         from certidude.mysqllog import LogHandler | ||||||
|         from certidude.api.log import LogResource |         from certidude.api.log import LogResource | ||||||
| @@ -1188,18 +1193,19 @@ def certidude_serve(port, listen, fork): | |||||||
|         from certidude.push import EventSourceLogHandler |         from certidude.push import EventSourceLogHandler | ||||||
|         log_handlers.append(EventSourceLogHandler()) |         log_handlers.append(EventSourceLogHandler()) | ||||||
|  |  | ||||||
|     for facility in "api", "cli": |     for j in logging.Logger.manager.loggerDict.values(): | ||||||
|         logger = logging.getLogger(facility) |         if isinstance(j, logging.Logger): # PlaceHolder is what? | ||||||
|         logger.setLevel(logging.DEBUG) |             if j.name.startswith("certidude."): | ||||||
|  |                 j.setLevel(logging.DEBUG) | ||||||
|                 for handler in log_handlers: |                 for handler in log_handlers: | ||||||
|             logger.addHandler(handler) |                     j.addHandler(handler) | ||||||
|  |  | ||||||
|  |  | ||||||
|     def exit_handler(): |     def exit_handler(): | ||||||
|         logging.getLogger("cli").debug("Shutting down Certidude") |         logger.debug("Shutting down Certidude") | ||||||
|     import atexit |     import atexit | ||||||
|     atexit.register(exit_handler) |     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(): |     if not fork or not os.fork(): | ||||||
|         httpd.serve_forever() |         httpd.serve_forever() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user