Save logs - SimpleHTTPServer(保存日志 - SimpleHTTPServer)
问题描述
如何保存控制台的输出,例如
How can I save the output from the console like
192.168.1.1 - - [18/Aug/2014 12:05:59] 代码 404,消息文件未找到"
"192.168.1.1 - - [18/Aug/2014 12:05:59] code 404, message File not found"
到一个文件?
代码如下:
import SimpleHTTPServer
import SocketServer
PORT = 1548
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
推荐答案
BaseHTTPRequestHandler.log_message()
通过写入 sys.stderr
打印所有日志消息.你有两个选择:
BaseHTTPRequestHandler.log_message()
prints all log messages by writing to sys.stderr
. You have two choices:
1) 继续使用BaseHTTPRequestHandler.log_message()
,但是改变sys.stderr
的值:
1) Continue using BaseHTTPRequestHandler.log_message()
, but change the value of sys.stderr
:
import SimpleHTTPServer
import SocketServer
PORT = 1548
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
import sys
buffer = 1
sys.stderr = open('logfile.txt', 'w', buffer)
httpd.serve_forever()
2) 新建一个xxxRequestHandler
类,替换.log_message()
:
2) Create a new xxxRequestHandler
class, replacing .log_message()
:
import SimpleHTTPServer
import SocketServer
import sys
PORT = 1548
class MyHTTPHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
buffer = 1
log_file = open('logfile.txt', 'w', buffer)
def log_message(self, format, *args):
self.log_file.write("%s - - [%s] %s
" %
(self.client_address[0],
self.log_date_time_string(),
format%args))
Handler = MyHTTPHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
这篇关于保存日志 - SimpleHTTPServer的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:保存日志 - SimpleHTTPServer
基础教程推荐
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 筛选NumPy数组 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01