https://github.com/duckboss/logtale
A simple, easy to use python logging framework that builds on top of the built-in logger module.
https://github.com/duckboss/logtale
Last synced: 11 months ago
JSON representation
A simple, easy to use python logging framework that builds on top of the built-in logger module.
- Host: GitHub
- URL: https://github.com/duckboss/logtale
- Owner: DuckBoss
- License: gpl-3.0
- Created: 2023-12-09T20:56:13.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-01-03T14:41:00.000Z (over 2 years ago)
- Last Synced: 2025-01-21T13:47:07.409Z (over 1 year ago)
- Language: Python
- Size: 236 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### LogTale - A python logging framework
A simple, easy to use logging framework that builds on top of the built-in logger module.
[](https://pypi.org/project/logtale)
[](https://github.com/DuckBoss/logtale/releases)
### Installation
``` bash
pip install logtale
```
### Usage
Simple Usage:
``` python
import logtale.logtale as tale
def main():
logtale = tale.LogTale("example", "./example.toml")
logger = logtale.logger(__name__)
logger.debug("test - debug")
logger.info("test - info")
logger.warning("test - warning")
logger.error("test - error")
logger.critical("test - critical")
if __name__ == "__main__":
main()
```
Prepend/Postpend text to the log message:
``` python
logger.addFilter(filter.LogAppendFilter(prepend_text="ExamplePrepend"))
logger.addFilter(filter.LogAppendFilter(postpend_text="ExamplePostpend"))
```
### Configuration File
Create a configuration file for logging settings using the `templates/config_template.toml` file as a template.
``` toml
[output.colors]
# Set the colors associated with each debug level.
# Colors are only applied for logs printed to the console.
# The logging color feature can be enabled/disabled in '[output.console]' section.
DEBUG = '\033[1;36m'
INFO = '\033[1;38m'
WARNING = '\033[1;33m'
ERROR = '\033[1;35m'
CRITICAL = '\033[1;31m'
[output.file]
enable = true # enable/disable logging to a .log file (default=true)
level = "DEBUG" # the base log level for logging to a file (default=DEBUG)
path = "logs/" # the directory to create log files in (default=logs/)
format = "(%(asctime)s)[%(name)s][%(levelname)s]::%(message)s" # the log message format to use for file logging
name = "example.log" # the naming scheme of the log file, by default it's '__.log'
[output.console]
enable = true # enable/disable logging to the console (default=true)
level = "DEBUG" # the base log level for logging to the console (default=DEBUG)
format = "[%(levelname)s]::%(message)s" # the log message format to use for console logging
use_colors = true # enable/disable the use of colors for log levels. colors can be customized in '[output.colors]' section.
```
### Examples
Check the `examples` directory for example scripts and configuration files.
``` python
# ./examples/example.py
import logtale.logtale as tale
import logtale.filter as filter
def main():
logtale = tale.LogTale("example", "./example.toml")
logger = logtale.logger(__name__)
logger.addFilter(filter.LogAppendFilter(prepend_text="ExamplePrepend"))
logger.debug("test - debug")
logger.info("test - info")
logger.warning("test - warning")
logger.error("test - error")
logger.critical("test - critical")
if __name__ == "__main__":
main()
```
#### Example log console output

#### Example log file output
