나는 예제를 기반으로 간단한 Python XML-RPC 구현을 만들었습니다.파이썬 XML-RPC 출력과 예외를 처리하려면 어떻게해야합니까?
그러나이 같은 출력을 보낸다
foo.bar.com - - [13/Feb/2010 17:55:47] "POST /RPC2 HTTP/1.0" 200 -
을 ... 단말에 제가 >>
또는 >
를 사용하여 파일을 표준 출력과 표준 에러로 리디렉션하더라도. 나는 다음 행으로이 일을 해요 :
python foobar 2>&1 >> foobar.log
하지만 다른 곳, 표준 출력에 전송 아니에요 거의처럼 보인다.
----------------------------------------
Exception happened during processing of request from ('1.2.3.4', 51284)
가 어떻게이 예외를 처리 할 수 있습니다 예외가 요청이 오류로 전체 응용 프로그램이 충돌을 잡 발생
또한? 정상적으로 복구해야하며 서버가 손상되는 대신 예외 메시지 만 기록하십시오.
어떻게 다른 곳으로 로그 요청을 리디렉션까요? 예를 들어,'logging.getLogger()'의 인스턴스. 또한 예외가 인쇄 될 때 응용 프로그램이 어떻게 충돌합니까? –
인용 된 코드 ('xmlrpclib'에 의해 간접적으로 사용되는 표준 라이브러리의 "SocketServer.py")에서 볼 수 있듯이, 예외가 발생했을 때 응용 프로그램이 충돌하지 않고 그냥 무시됩니다. 이러한 로그를 리디렉션하려면 자신 만의'BaseServer' /'BaseHTTPServer' /'SimpleXMLRPCServer' 클래스를 작성하거나 (서로 파생 된) 클래스를 작성하거나 간단히 로깅 기능을 덮어 쓸 수 있습니다. 'SocketServer.BaseServer.handle_error = yourLogHandlerWhichWritesToLogger'. – AndiDog