1212import sys
1313import time
1414import traceback
15+ import types
1516import warnings
1617
1718warnings .filterwarnings (action = "ignore" , message = ".*was already imported" , category = UserWarning )
3435from lib .core .exception import SqlmapSilentQuitException
3536from lib .core .exception import SqlmapUserQuitException
3637from lib .core .log import FORMATTER
37- from lib .core .log import setLoggerHandler
38+ from lib .core .log import LOGGER_HANDLER
3839from lib .core .option import init
3940from lib .core .profiling import profile
4041from lib .core .settings import LEGAL_DISCLAIMER
@@ -54,16 +55,12 @@ def modulePath():
5455
5556def xmlRpcServe ():
5657 logger .setLevel (logging .INFO )
58+ cmdLineOptions .disableColoring = True
5759 server = XMLRPCServer (cmdLineOptions .xmlRpcPort or XMLRPC_SERVER_PORT )
58- class _ (logging .Handler ):
59- def emit (self , record ):
60- message = stdoutencode (self .format (record ))
61- sys .stdout .write ("%s\n " % message )
62- handler = _ ()
63- handler .is_tty = False
64- handler .disableColoring = True
65- handler .setFormatter (FORMATTER )
66- setLoggerHandler (handler )
60+ def emit (self , record ):
61+ message = stdoutencode (FORMATTER .format (record ))
62+ sys .stdout .write ("%s\n " % message )
63+ LOGGER_HANDLER .emit = types .MethodType (emit , LOGGER_HANDLER , type (LOGGER_HANDLER ))
6764 sys .stdout = StringIO .StringIO ()
6865 sys .stderr = StringIO .StringIO ()
6966 server .serve ()
0 commit comments