Skip to content
Snippets Groups Projects
Select Git revision
2 results Searching

deserialize_input.rs

Blame
  • 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))