Troubleshooting PubNub Python SDK

How to enable logging

Use this code to enable logging

import pubnub
import logging

pubnub.set_stream_logger('pubnub', logging.DEBUG)

How to find the version of your SDK

You can access your SDK version via constant

from pubnub.pubnub import PubNub


Error handling with sync()

In case of sync() calls errors will be wrapped out by either Envelope or PubNubAsyncioException which both implement two object fields:

  • e.result - a request result object in case of success, otherwise None

  • e.status - PNStatus object with useful information about the finished request. You may check if it was an error or a success using e.is_error() helper.

sync() usage

e = pubnub.publish().channel("my_channel").message("hello!").sync()
except PubNubException as e:
print("Error %s" % str(e))
if status is not None:
print("Error category #%d" % e.status.category)

Error handling with async()

async() call lets you check for errors using status.is_error() helper:

def callback(result, status):
if status.is_error():
print("Error %s" % str(status.error_data.exception))
print("Error category #%d" % status.category)
Last updated on