mirror of
https://github.com/aljazceru/CTFd.git
synced 2026-02-23 07:04:27 +01:00
Call init_logs() function to add logging handlers. Move init_logs() into initialization vs logging. (#841)
* Closes #835 * Move `utils.logging.init_logs()` into `utils.initialization`
This commit is contained in:
@@ -13,7 +13,7 @@ from CTFd import utils
|
||||
from CTFd.utils.migrations import migrations, migrate, upgrade, stamp, create_database
|
||||
from CTFd.utils.sessions import CachingSessionInterface
|
||||
from CTFd.utils.updates import update_check
|
||||
from CTFd.utils.initialization import init_request_processors, init_template_filters, init_template_globals
|
||||
from CTFd.utils.initialization import init_request_processors, init_template_filters, init_template_globals, init_logs
|
||||
from CTFd.utils.events import socketio
|
||||
from CTFd.plugins import init_plugins
|
||||
|
||||
@@ -206,6 +206,7 @@ def create_app(config='CTFd.config.Config'):
|
||||
app.register_error_handler(500, general_error)
|
||||
app.register_error_handler(502, gateway_error)
|
||||
|
||||
init_logs(app)
|
||||
init_plugins(app)
|
||||
|
||||
return app
|
||||
|
||||
@@ -33,6 +33,8 @@ from CTFd.utils.config.visibility import (
|
||||
from sqlalchemy.exc import InvalidRequestError, IntegrityError
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import os
|
||||
|
||||
|
||||
def init_template_filters(app):
|
||||
@@ -64,6 +66,48 @@ def init_template_globals(app):
|
||||
app.jinja_env.globals.update(scores_visible=scores_visible)
|
||||
|
||||
|
||||
def init_logs(app):
|
||||
logger_submissions = logging.getLogger('submissions')
|
||||
logger_logins = logging.getLogger('logins')
|
||||
logger_registrations = logging.getLogger('registrations')
|
||||
|
||||
logger_submissions.setLevel(logging.INFO)
|
||||
logger_logins.setLevel(logging.INFO)
|
||||
logger_registrations.setLevel(logging.INFO)
|
||||
|
||||
log_dir = app.config['LOG_FOLDER']
|
||||
if not os.path.exists(log_dir):
|
||||
os.makedirs(log_dir)
|
||||
|
||||
logs = {
|
||||
'submissions': os.path.join(log_dir, 'submissions.log'),
|
||||
'logins': os.path.join(log_dir, 'logins.log'),
|
||||
'registrations': os.path.join(log_dir, 'registrations.log')
|
||||
}
|
||||
|
||||
for log in logs.values():
|
||||
if not os.path.exists(log):
|
||||
open(log, 'a').close()
|
||||
|
||||
submission_log = logging.handlers.RotatingFileHandler(logs['submissions'], maxBytes=10000)
|
||||
login_log = logging.handlers.RotatingFileHandler(logs['logins'], maxBytes=10000)
|
||||
registration_log = logging.handlers.RotatingFileHandler(logs['registrations'], maxBytes=10000)
|
||||
|
||||
logger_submissions.addHandler(
|
||||
submission_log
|
||||
)
|
||||
logger_logins.addHandler(
|
||||
login_log
|
||||
)
|
||||
logger_registrations.addHandler(
|
||||
registration_log
|
||||
)
|
||||
|
||||
logger_submissions.propagate = 0
|
||||
logger_logins.propagate = 0
|
||||
logger_registrations.propagate = 0
|
||||
|
||||
|
||||
def init_request_processors(app):
|
||||
@app.context_processor
|
||||
def inject_user():
|
||||
|
||||
@@ -2,52 +2,9 @@ from flask import session
|
||||
from CTFd.utils.user import get_ip
|
||||
import logging
|
||||
import logging.handlers
|
||||
import os
|
||||
import time
|
||||
|
||||
|
||||
def init_logs(app):
|
||||
logger_submissions = logging.getLogger('submissions')
|
||||
logger_logins = logging.getLogger('logins')
|
||||
logger_registrations = logging.getLogger('registrations')
|
||||
|
||||
logger_submissions.setLevel(logging.INFO)
|
||||
logger_logins.setLevel(logging.INFO)
|
||||
logger_registrations.setLevel(logging.INFO)
|
||||
|
||||
log_dir = app.config['LOG_FOLDER']
|
||||
if not os.path.exists(log_dir):
|
||||
os.makedirs(log_dir)
|
||||
|
||||
logs = {
|
||||
'submissions': os.path.join(log_dir, 'submissions.log'),
|
||||
'logins': os.path.join(log_dir, 'logins.log'),
|
||||
'registrations': os.path.join(log_dir, 'registrations.log')
|
||||
}
|
||||
|
||||
for log in logs.values():
|
||||
if not os.path.exists(log):
|
||||
open(log, 'a').close()
|
||||
|
||||
submission_log = logging.handlers.RotatingFileHandler(logs['submissions'], maxBytes=10000)
|
||||
login_log = logging.handlers.RotatingFileHandler(logs['logins'], maxBytes=10000)
|
||||
registration_log = logging.handlers.RotatingFileHandler(logs['registrations'], maxBytes=10000)
|
||||
|
||||
logger_submissions.addHandler(
|
||||
submission_log
|
||||
)
|
||||
logger_logins.addHandler(
|
||||
login_log
|
||||
)
|
||||
logger_registrations.addHandler(
|
||||
registration_log
|
||||
)
|
||||
|
||||
logger_submissions.propagate = 0
|
||||
logger_logins.propagate = 0
|
||||
logger_registrations.propagate = 0
|
||||
|
||||
|
||||
def log(logger, format, **kwargs):
|
||||
logger = logging.getLogger(logger)
|
||||
props = {
|
||||
|
||||
Reference in New Issue
Block a user