Metadata-Version: 2.0
Name: zato-enclog
Version: 1.0.7
Summary: Encrypted logger reusable in any Python application
Home-page: https://zato.io/docs/progguide/enclog/index.html
Author: Zato Source s.r.o.
Author-email: enclog@m.zato.io
License: BSD License
Platform: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Other Audience
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Classifier: Topic :: Communications
Classifier: Topic :: Education :: Testing
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: Proxy Servers
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Security
Classifier: Topic :: System :: Networking
Classifier: Topic :: Utilities
Requires-Dist: bunch (>=1.0.1)
Requires-Dist: click (>=6.2)
Requires-Dist: coverage (>=3.7.1)
Requires-Dist: cryptography (>=1.1.1)
Requires-Dist: flake8 (>=2.1.0)
Requires-Dist: future (>=0.15.2)
Requires-Dist: nose (>=1.3.3)
Requires-Dist: tailer (>=0.4)
Requires-Dist: testfixtures (>=4.6.0)


===========
zato-enclog
===========

* Encrypted logger which stores everything using Fernet keys (AES128). Safe to use in environments
  that cannot store Personally Identifiable Information (PII) in clear text, such as HIPAA-compliant applications.

* Comes with a command line tool that is used to decrypt logs, including both open and tail -f functionality.

* Learn more about Fernet: https://cryptography.io/en/latest/fernet/

::

  # stdlib
  import logging

  # Zato
  from zato.enclog import EncryptedLogFormatter, genkey

  level = logging.INFO
  format = '%(levelname)s - %(message)s'

  key = genkey()
  formatter = EncryptedLogFormatter(key, format)

  handler = logging.StreamHandler()
  handler.setFormatter(formatter)

  logger = logging.getLogger('')
  logger.addHandler(handler)
  logger.setLevel(level)

  logger.info(b'{"user":"Jane Xi"}')

  # Shows the following
  INFO - gAAAAABWYa17oiDoSMVjF8JM9DWzB3dtEvenW9laKqgsFl4d4ksbLCkoJzTyrI3nXKYVOcC03dhJ_BwfWlBN3CdGxJZAwMmfUbUzLHkqw2JeTzdgtz0YEGU=


