File logger and live reader
Project description
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fac082e129317f3a0ad3f943baff342ae111c526874018853b9d84b26d8e3d8d |
|
MD5 | 370ecc6cefac616e0ebea4ac09ae4372 |
|
BLAKE2b-256 | a9d64cb1dcd07160677d6fd71407a6a814df9ac1675bbfe08aea7b7d23db6ecc |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a5ff3b6d1ff173d86bef7101ea2e61aa0517a2ac38f5e9844515eb6caffeb97 |
|
MD5 | b83520320c4a1dbb60dfe76c066d621c |
|
BLAKE2b-256 | 0ec5132486dd5c9a340d1d3e7a28deb5b622a5eeb2e9584aa2ae0a96dee1f29b |