Compare commits

...

9 Commits
1.0 ... master

Author SHA1 Message Date
746aaa6c2a
Update Readme.md
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-13 12:37:57 +02:00
16820fa083 Add dynamic log level (!1)
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Reviewed-on: #1
2022-08-13 12:30:20 +02:00
ee25613eda Fix build badge
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-13 11:35:37 +02:00
da452afc98 Update 'README.md' 2022-08-13 11:34:36 +02:00
516e068b2c
Update colorlog version
All checks were successful
continuous-integration/drone/push Build is passing
2021-12-07 12:02:49 +01:00
a04f8dd5de
Revert "add __init__.py"
All checks were successful
continuous-integration/drone/push Build is passing
This reverts commit 1d37b1bc2df048b1bf68b7c5c0dfeebd992ca554.
2021-12-05 18:28:27 +01:00
e9ac6de0d0
Merge remote-tracking branch 'origin/master'
Some checks failed
continuous-integration/drone/push Build is failing
2021-12-05 18:13:04 +01:00
1d37b1bc2d
add __init__.py 2021-12-05 18:12:45 +01:00
eb7fea1898 fix description
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-22 12:25:22 +02:00
4 changed files with 72 additions and 25 deletions

View File

@ -6,16 +6,18 @@ workspace:
path: /drone/src
steps:
- name: test with DEBUG_MODE
image: python:alpine
- name: LOG_LEVEL var set to debug
depends_on:
- clone
image: python:3.10-alpine
pull: if-not-exists
environment:
DEBUG_MODE: 'True'
LOG_LEVEL: 'debug'
TZ: 'Europe/Berlin'
commands:
- apk --no-cache add gcc musl-dev tzdata
- pip3 install --no-cache-dir -r requirements.txt
- echo "$DEBUG_MODE"
- echo "$LOG_LEVEL"
- |
python3 -c 'from loghandler import logger;
def main():
@ -27,16 +29,40 @@ steps:
main()'
- name: test without DEBUG_MODE
image: python:alpine
- name: LOG_LEVEL var set to warning
depends_on:
- clone
image: python:3.10-alpine
pull: if-not-exists
environment:
DEBUG_MODE: 'False'
LOG_LEVEL: 'warning'
TZ: 'Europe/Berlin'
commands:
- apk --no-cache add gcc musl-dev tzdata
- pip3 install --no-cache-dir -r requirements.txt
- echo "$DEBUG_MODE"
- echo "$LOG_LEVEL"
- |
python3 -c 'from loghandler import logger;
def main():
logger.debug("This is a Debug Message")
logger.info("This is a Info Message")
logger.warning("This is a Warning Message")
logger.error("This is a Error Message")
logger.critical("This is a Critical Message")
main()'
- name: Unset LOG_LEVEL var
depends_on:
- clone
image: python:3.10-alpine
pull: if-not-exists
environment:
TZ: 'Europe/Berlin'
commands:
- apk --no-cache add gcc musl-dev tzdata
- pip3 install --no-cache-dir -r requirements.txt
- echo "$LOG_LEVEL"
- |
python3 -c 'from loghandler import logger;
def main():

View File

@ -1,18 +1,31 @@
# logger
# logger.py
[![Build Status](https://drone.pyas.de/api/badges/Kim/logger/status.svg)](https://drone.pyas.de/Kim/logger)
[![Build Status](https://drone.pyas.de/api/badges/Kim/logger.py/status.svg)](https://drone.pyas.de/Kim/logger.py)
Simple logger function with colored LogLevel designed to run inside Docker container
> Debug can be enabled by setting the environment variable
>
> **DEBUG_MODE** = *True*
## Possible values
Values can be set case insensitive (DEBUG, debug, Debug).
- debug
- info (default value)
- warn
- warning
- crit
- critical
## Requirements
- Python 3.10 or higher
## Usage example
> Use the environment variable `LOG_LEVEL` to set the log level.
>
> **LOG_LEVEL** = *debug*
```python
# Usage with os only necessary if environment variable has not been set before (e.g. outside Docker)
# Setting LOG_LEVEL with `os.environ` is only necessary if environment variable has not been set before (e.g. outside Docker)
import os
os.environ['DEBUG_MODE'] = 'True'
os.environ['LOG_LEVEL'] = 'DEBUG'
from loghandler import logger

View File

@ -6,18 +6,26 @@ import colorlog
def loghandler():
debug_mode = os.getenv('DEBUG_MODE', "False")
if debug_mode.lower() == "false":
debug_mode = False
_logger = colorlog.getLogger(__name__)
if debug_mode:
loglevel = os.getenv('LOG_LEVEL', "INFO")
match loglevel.lower():
case "debug":
_logger.setLevel(logging.DEBUG)
else:
case "info":
_logger.setLevel(logging.INFO)
case "warn" | "warning":
_logger.setLevel(logging.WARNING)
case "error":
_logger.setLevel(logging.ERROR)
case "crit" | "critical":
_logger.setLevel(logging.CRITICAL)
case _:
raise ValueError("Definied value of LOG_LEVEL is not known. Possible values are debug, info, warn, warning, error, crit and critical.")
handler = colorlog.StreamHandler(sys.stdout)
if debug_mode:
if loglevel:
handler.setLevel(logging.DEBUG)
else:
handler.setLevel(logging.INFO)

View File

@ -1 +1 @@
colorlog~=4.2.1
colorlog==6.6.0