Metadata-Version: 1.1
Name: pubsub-logging
Version: 0.1.6
Summary: A logging handler for publishing the logs to Cloud Pub/Sub
Home-page: https://github.com/GoogleCloudPlatform/cloud-pubsub-logging-python
Author: Takashi Matsuo
Author-email: tmatsuo@google.com
License: Apache 2.0
Description: cloud-pubsub-logging-python
        ===========================
        
            A logging handler for publishing the logs to Cloud Pub/Sub.
        
        |pypi| |build|
        
        You can use the pubsub_logging.PubsubHandler to publish the logs to `Cloud Pub/Sub`_. You can use this module with `the standard Python logging module`_.
        
        .. _Cloud Pub/Sub: https://cloud.google.com/pubsub/docs/
        .. _the standard Python logging module: https://docs.python.org/2/library/logging.html
        
        Supported version
        -----------------
        
        Python 2.7 is supported.
        
        Installation
        ------------
        
        ::
        
            $ pip install pubsub-logging
        
        How to use
        ----------
        
        Here is an example configuration file.
        
        ::
        
            [loggers]
            keys=root
        
            [handlers]
            keys=pubsubHandler
        
            [formatters]
            keys=simpleFormatter
        
            [logger_root]
            level=NOTSET
            handlers=pubsubHandler
        
            [handler_pubsubHandler]
            class=pubsub_logging.PubsubHandler
            level=DEBUG
            formatter=simpleFormatter
            args=('projects/tmatsuo-pubsub-sample/topics/log-topic', 1000)
        
            [formatter_simpleFormatter]
            format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
        
        How to use this config file.
        
        .. code:: python
        
            logging.config.fileConfig(os.path.join('examples', 'logging.conf'))
            logger = logging.getLogger('root')
            logger.info('This message will be buffered')
            logger.critical('This message will be flushed.')
            
        
        Here is a dynamic usage example.
        
        .. code:: python
        
            pubsub_handler = PubsubHandler(topic=topic)
            pubsub_handler.setFormatter(
                logging.Formatter(
                    '%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
        
            logger = logging.getLogger('root')
            logger.setLevel(logging.DEBUG)
            logger.addHandler(pubsub_handler)
            logger.info('This message will be buffered')
            logger.critical('This message will be flushed.')
        
        The logs are buffered by default, and when the buffer is full, or when the message has a log level higher or equal to flush_level, the buffered logs will be flushed and sent to Cloud Pub/Sub.
        
        Authentication
        --------------
        
        The module uses the `Application Default Credentials`_. You can configure the authentication as follows.
        
        .. _Application Default Credentials: https://developers.google.com/accounts/docs/application-default-credentials
        
        Authentication on App Engine
        ----------------------------
        
        It should work out of the box. If you're getting an authorization error, please make sure that your App Engine service account has an `Editor` or greater permission on your Cloud project.
        
        Authentication on Google Compute Engine
        ---------------------------------------
        
        When creating a new instance, please add the Cloud Pub/Sub scope `https://www.googleapis.com/auth/pubsub` to the service account of the instance.
        
        Authentication anywhere else
        ----------------------------
        
        As `the documentation suggests`_, create a new service account and download its JSON key file, then set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` pointing to the JSON key file. Please note that this service account must have `Editor` or greater permissions on your Cloud project.
        
        .. _the documentation suggests: https://developers.google.com/accounts/docs/application-default-credentials#whentouse
        
        
        .. |build| image:: https://travis-ci.org/GoogleCloudPlatform/cloud-pubsub-logging-python.svg?branch=master
           :target: https://travis-ci.org/GoogleCloudPlatform/cloud-pubsub-logging-python
        .. |pypi| image:: https://img.shields.io/pypi/v/pubsub-logging.svg
           :target: https://pypi.python.org/pypi/pubsub-logging
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
