python連接zookeeper的日志問題


用python連接zookeeper時,在終端里,一直會有zookeeper的日志冒出來,這樣會很煩。

2014-07-22 10:06:19,544:10474(0x7fd459406700):ZOO_WARN@zookeeper_interest@1557: Exceeded deadline by 11ms


解決方法是在連接后設置一下zookeeper的日志等級為ERROR,這樣WARN的日志就不會彈出來了

import zookeeper
zookeeper.set_debug_level(zookeeper.LOG_LEVEL_ERROR) #設置zookeeper的日志等級

 

 

 

因為zookeeper模塊是一個編譯好的c文件,通過zookeeper.__file__可以看到,'/data/msalt/third_part/zookeeper.so'

這樣的話就很難查看這個模塊的接口和文檔

但是可以通過python的自省來看到

通過dir(zookeeper)就可以看到該模塊的所以常量和方法

>>> dir(zookeeper)
['APIERROR', 'ASSOCIATING_STATE', 'AUTHFAILED', 'AUTH_FAILED_STATE', 'ApiErrorException', 'AuthFailedException', 'BADARGUMENTS', 'BADVERSION', 'BadArgumentsException', 'BadVersionException', 'CHANGED_EVENT', 'CHILD_EVENT', 'CLOSING', 'CONNECTED_STATE', 'CONNECTING_STATE', 'CONNECTIONLOSS', 'CREATED_EVENT', 'ClosingException', 'ConnectionLossException', 'DATAINCONSISTENCY', 'DELETED_EVENT', 'DataInconsistencyException', 'EPHEMERAL', 'EXPIRED_SESSION_STATE', 'INVALIDACL', 'INVALIDCALLBACK', 'INVALIDSTATE', 'InvalidACLException', 'InvalidCallbackException', 'InvalidStateException', 'LOG_LEVEL_DEBUG', 'LOG_LEVEL_ERROR', 'LOG_LEVEL_INFO', 'LOG_LEVEL_WARN', 'MARSHALLINGERROR', 'MarshallingErrorException', 'NOAUTH', 'NOCHILDRENFOREPHEMERALS', 'NODEEXISTS', 'NONODE', 'NOTEMPTY', 'NOTHING', 'NOTWATCHING_EVENT', 'NoAuthException', 'NoChildrenForEphemeralsException', 'NoNodeException', 'NodeExistsException', 'NotEmptyException', 'NothingException', 'OK', 'OPERATIONTIMEOUT', 'OperationTimeoutException', 'PERM_ADMIN', 'PERM_ALL', 'PERM_CREATE', 'PERM_DELETE', 'PERM_READ', 'PERM_WRITE', 'RUNTIMEINCONSISTENCY', 'RuntimeInconsistencyException', 'SEQUENCE', 'SESSIONEXPIRED', 'SESSIONMOVED', 'SESSION_EVENT', 'SYSTEMERROR', 'SessionExpiredException', 'SessionMovedException', 'SystemErrorException', 'UNIMPLEMENTED', 'UnimplementedException', 'ZooKeeperException', '__doc__', '__file__', '__name__', '__package__', '__version__', 'acreate', 'add_auth', 'adelete', 'aexists', 'aget', 'aget_acl', 'aget_children', 'aset', 'aset_acl', 'async', 'client_id', 'close', 'create', 'delete', 'deterministic_conn_order', 'exists', 'get', 'get_acl', 'get_children', 'init', 'is_unrecoverable', 'recv_timeout', 'set', 'set2', 'set_acl', 'set_debug_level', 'set_log_stream', 'set_watcher', 'state', 'zerror']

可以通過zookeeper.set_debug_level.__doc__來查看對於的接口說明,即文檔

>>> zookeeper.set_debug_level.__doc__
'\x08rief sets the debugging level for the library \n\nPARAMETERS:\n logLevel: One of LOG_LEVEL_ERROR, LOG_LEVEL_WARN, LOG_LEVEL_INFO or LOG_LEVEL_DEBUG\n\nRETURNS:\n None\n'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM