Select Git revision
logger.py 1.31 KiB
# SPDX-License-Identifier: Apache-2.0
import logging
import datetime
import os.path
PATH = 'logs/'
HOSTNAME = 'nl2cnl'
INFO = 20
WARNING = 30
ERROR = 40
if not os.path.exists(PATH):
os.mkdir(PATH)
current_date = datetime.datetime.now()
current_date = current_date.strftime("%d-%m-%Y")
filename = PATH + current_date + ".log"
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
log_handler = logging.FileHandler(PATH + '{}-{}.log'.format(current_date, HOSTNAME))
log_handler.setFormatter(formatter)
def get_client_info(request):
method = request.method
url = request.url
client_host = request.client.host
user_agent = request.headers.get('user-agent')
accept = request.headers.get('accept')
referer = request.headers.get('referer')
return '{} {} client host: {} , user agent: {} , accept: {} , referer: {}'.format(method, url, client_host,
user_agent, accept, referer)
def create_log(level, request, optional_message=None):
logger = logging.getLogger(__name__)
if request is None:
message = optional_message
else:
message = get_client_info(request)
logger.addHandler(log_handler)
logger.setLevel(level)
logger.log(level, '{}'.format(message))