diff --git a/websockify/websocket.py b/websockify/websocket.py index 2348593..0054f53 100644 --- a/websockify/websocket.py +++ b/websockify/websocket.py @@ -113,6 +113,9 @@ class WebSocketRequestHandler(SimpleHTTPRequestHandler): SimpleHTTPRequestHandler.__init__(self, req, addr, server) + def log_message(self, format, *args): + self.logger.info("%s - - [%s] %s" % (self.address_string(), self.log_date_time_string(), format % args)) + @staticmethod def unmask(buf, hlen, plen): pstart = hlen + 4 diff --git a/websockify/websocketproxy.py b/websockify/websocketproxy.py index 46ab545..c098023 100755 --- a/websockify/websocketproxy.py +++ b/websockify/websocketproxy.py @@ -411,9 +411,22 @@ def websockify_init(): help="Automatically respond to ping frames with a pong") parser.add_option("--heartbeat", type=int, default=0, help="send a ping to the client every HEARTBEAT seconds") + parser.add_option("--log-file", metavar="FILE", + dest="log_file", + help="File where logs will be saved") + (opts, args) = parser.parse_args() + if opts.log_file: + opts.log_file = os.path.abspath(opts.log_file) + handler = logging.FileHandler(opts.log_file) + handler.setLevel(logging.DEBUG) + handler.setFormatter(logging.Formatter("%(message)s")) + logging.getLogger(WebSocketProxy.log_prefix).addHandler(handler) + + del opts.log_file + if opts.verbose: logging.getLogger(WebSocketProxy.log_prefix).setLevel(logging.DEBUG)