Skip to main content

File logger and live reader

Project description

livelog

Release License Linux macOS Windows

livelog is yet another Python logger.

Its main purpose is to provide live logging for situation where logging to console is not possible. For example working on a GUI, TUI, a software plugin or a script instanciated from a different shell.

It provides a Logger object for your code and a built-in reader to see your logs in real time from another shell. Even if its overall behavior is opinionated it does offer some customization.

Demo

Installation

python3 -m pip install livelog

Logging

Basics

In your code, create a Logger instance with:

from livelog import Logger

logger = Logger()

Parameters

Logger takes multiple optional arguments:

  • file (str): Path for your logging file. Default is a file named "livelog.log" in your system tmp directory.
  • level (str): Minimum level to be logged. Default is "DEBUG", you can also select "INFO", "WARNING", and "ERROR". Note that level filtering can also be done directly from the reader.
  • enabled (bool): Whether logging is enabled or not. Default is True.
  • erase (bool): Whether preexisting logging file should be erased or not. Default is True.
from livelog import Logger

logger = Logger(file= "/home/user/",
                level = "INFO",
                enabled = False,
                erase = False)

Methods

Use the following methods to write log messages:

  • logger.debug("message")
  • logger.info("message")
  • logger.warn("message")
  • logger.error("message")
from livelog import Logger

logger = Logger()
logger.debug("This is a debug message")
logger.info("This is an info message")
logger.warn("This is a warning message")
logger.error("This is an error message")

Attributes

You can get and set attributes after instantiation:

from livelog import Logger

logger = Logger(file="/tmp/file.log")
logger.debug("This will write to /tmp/file.log")

logger.file = "/tmp/another_file.log"
logger.debug("This will write to /tmp/another_file.log")

logger.level = "ERROR"
logger.debug("This debug message will not be written.")

logger.enabled = False
logger.error("Logging disabled. This error message will not be written.")

Singleton

livelog also provides a built-in singleton:

your_first_file.py

from livelog import LoggerSingleton


logger = LoggerSingleton(file="/tmp/file.log")
logger.debug("This will write to /tmp/file.log")

another_file.py

from livelog import LoggerSingleton


logger = LoggerSingleton()
# LoggerSingleton() returned the instance from your first file.
logger.debug("This will write to /tmp/file.log")

Reading

Although you can access to your logging file like any other, you can use the provided reader.

If you did not specify a file for Logger simply use:

python3 -m livelog

livelog will read in real time the default log file.

Options

  • -f or --file - Set the path of your logging file
  • -l or --level - Set the minimum log level to be read.
  • --nocolors - Do not print colors

Example:

python3 -m livelog -f /tmp/myfile.log -l INFO --nocolors

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

livelog-1.0.1.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

livelog-1.0.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file livelog-1.0.1.tar.gz.

File metadata

  • Download URL: livelog-1.0.1.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for livelog-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fac082e129317f3a0ad3f943baff342ae111c526874018853b9d84b26d8e3d8d
MD5 370ecc6cefac616e0ebea4ac09ae4372
BLAKE2b-256 a9d64cb1dcd07160677d6fd71407a6a814df9ac1675bbfe08aea7b7d23db6ecc

See more details on using hashes here.

File details

Details for the file livelog-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: livelog-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for livelog-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a5ff3b6d1ff173d86bef7101ea2e61aa0517a2ac38f5e9844515eb6caffeb97
MD5 b83520320c4a1dbb60dfe76c066d621c
BLAKE2b-256 0ec5132486dd5c9a340d1d3e7a28deb5b622a5eeb2e9584aa2ae0a96dee1f29b

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