Skip to main content

Pure Python 3 logging library that use queues for handling log.

Project description

q-logger-py

q-logger-py is a pure Python 3 logging library that use queues for handling log messages.

It is thread-based, which makes it faster than standard file logging.

Installation

pip install q-logger-py

Usage

first need to create a QueueHandler and a ThreadWorker (either ThreadStdoutWorker or ThreadRotateFileWorker).

Then, add the QueueHandler to your logger and start the ThreadWorker.

import logging
from q_logger_py import QueueHandler, ThreadStdoutWorker

queue_handler = QueueHandler()
thread_worker = ThreadStdoutWorker(queue_handler.log_queue)

logger = logging.getLogger(__name__)
logger.addHandler(queue_handler)
logger.setLevel(logging.DEBUG)

thread_worker.start()
logger.debug('This is a debug')
logger.info('This is a info')
logger.warning('This is a warning')
logger.error('This is an error')
thread_worker.end()

Features

  • Thread-based: uses threads to handle log messages, which makes it faster than standard file logging.
  • Queue-based: uses queues to store log messages, which ensures that no log messages are lost.

Custom Output

key features of q-logger-py is the ease of creating custom outputs.

By inheriting from the BaseThreadWorker class, you can define output method to handle records in any way you want.

from q_logger_py.worker.base_thread_worker import BaseThreadWorker

class ThreadFileWorker(BaseThreadWorker):
    def __init__(self, log_queue, filename):
        super().__init__(log_queue)
        self.file = open(filename, 'a')

    def output(self):
        log_output = self.format(self.record)
        # add custom output here
        # self.file.write(log_output + '\n')
        # self.file.flush()
        print(log_output)

License

q-logger-py is licensed under the Apache License.

Project Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

q-logger-py-0.0.3.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

q_logger_py-0.0.3-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file q-logger-py-0.0.3.tar.gz.

File metadata

  • Download URL: q-logger-py-0.0.3.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for q-logger-py-0.0.3.tar.gz
Algorithm Hash digest
SHA256 549d92beac43d18cfbf755a8df4956479f69a155ef6ab3d23592dad65ed80717
MD5 c79bc693dc4a69408aa6fcd72de05da2
BLAKE2b-256 7d6f85c177f8b8c08e64ac8ffcf74e33c7080b66a9458223648009671a00d415

See more details on using hashes here.

File details

Details for the file q_logger_py-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: q_logger_py-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for q_logger_py-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dbb051fefe18cb0d705ff1a89624bcbad89dc3d0954a8199c7b9377bf10f978a
MD5 5f2eabff09edcbc289d04dbb2b01cb87
BLAKE2b-256 e999f7445e5dada1aa78c483c3c519998e802ea016dc2c6951ab7f0c042956cf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page