python http服务器日志记录设置

时间:2020-08-28 11:30:14

标签: python python-3.x http logging request

我有一个简单的python http服务器,如下所示。这将托管当前目录中的index.html页面。该服务器将作为线程在后台运行。

import os
import time
import threading
import logging

from http.server import HTTPServer, CGIHTTPRequestHandler

def html_server(port):
    """This function will host a html file containing the bot"""
    os.chdir('.')
    httpd = HTTPServer(('', port), CGIHTTPRequestHandler)
    httpd.serve_forever()
    
def start_html_server(port):
    httpserv = threading.Thread(target=html_server, args=(port,), name='daemon_server', daemon=True)
    try:
        httpserv.start() 
    except:
        logging.critical("unable to start HTTP server")
    else:
        logging.info('Strated HTTP server ') 

FORMAT = '%(asctime)s: %(levelname)s: %(message)s'
log_dir = os.getenv('LOG_DIR') # this value will be taken from env variable
logging.basicConfig(filename=f'{log_dir}/monitor.log', level=logging.INFO, format=FORMAT)

start_html_server(8000) 

while True:
    time.sleep(1) 

现在,它会将请求记录到脚本的std中。我正在尝试将输出记录到名为monitor.log的文件中。我想在logging.info内使用http.server

谢谢。

0 个答案:

没有答案