我有一个简单的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
。
谢谢。