Simple Python logging lib
Project description
easylogging2
Simple and Easy Logging lib for python3
REQUIREMENTS
- Python-3 --> http://www.python.org/download/
Notes
- After 9 months this library has returned better and more useful.
- This library is very simple so it is not better than a logging library and it is derived from it.
- This library was created because I wanted a simple and easy logging library.
Installation
-
Clone this repo:
$ git clone https://github.com/AI35/easylogging2
-
Using pip:
$ pip install easylogging2
Usage
-
First you need import lib and Set name :
import easylogging2 log = easylogging2.logname(__file__)
-
Use the functions you need:
- log.critical(msg)
- log.error(msg, exc_info) default: exc_info=False
- log.warning(msg)
- log.info(msg)
- log.debug(msg)
-
You can start logging from Cmd or PowerShell :
$ Python yourfile.py --logging --logfile usage: youefile.py [--logging] [--logfile] optional arguments: --logging Display log in Console --logfile Create log file
-
After first run you will see new file logging.conf :
- Change level number to display log in console (0 display all level).
level=60
- Change file_level number to set level in log file with --logfile (50 hide all level).
- This option work on --logfile
file_level=0
- Change level number to display log in console (0 display all level).
-
Show and hide error info from logging.conf :
- Show Error info (easylogging.error(msg, exc_info))
- True or False or None
- * (None) means that exc_info takes the value entered from the user, example: easylogging.error(msg, exc_info=True)
exc_info=None
-
You can run the test.py file to see how it works.
-
You can use all logging functions from this lib (ex: easylogging.logging.function)
-
formatter :
- You can use all defaults logging formats.
formatter = %(asctime)s - %(name)s - %(levelname)s - %(message)s
- From logging formatter function :
Formatter instances are used to convert a LogRecord to text. Formatters need to know how a LogRecord is constructed. They are responsible for converting a LogRecord to (usually) a string which can be interpreted by either a human or an external system. The base Formatter allows a formatting string to be specified. If none is supplied, the the style-dependent default value, "%(message)s", "{message}", or "${message}", is used. The Formatter can be initialized with a format string which makes use of knowledge of the LogRecord attributes - e.g. the default value mentioned above makes use of the fact that the user's message and arguments are pre- formatted into a LogRecord's message attribute. Currently, the useful attributes in a LogRecord are described by: %(name)s Name of the logger (logging channel) %(levelno)s Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL) %(levelname)s Text logging level for the message ("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL") %(pathname)s Full pathname of the source file where the logging call was issued (if available) %(filename)s Filename portion of pathname %(module)s Module (name portion of filename) %(lineno)d Source line number where the logging call was issued (if available) %(funcName)s Function name %(created)f Time when the LogRecord was created (time.time() return value) %(asctime)s Textual time when the LogRecord was created %(msecs)d Millisecond portion of the creation time %(relativeCreated)d Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded (typically at application startup time) %(thread)d Thread ID (if available) %(threadName)s Thread name (if available) %(process)d Process ID (if available) %(message)s The result of record.getMessage(), computed just as the record is emitted
Changlog
V 2.1.1
- Add Decorator @func_set(level).
Use @Yourlog.func_set(level) to set logger and handler level to function and ignore all level config in function.
- Fix Bug handler write all level and ignore file_level when using --logging with --logfile
V 2.0.5 Some fixes:
- Make some variables private.
V 2.0.1 Performance:
- Increase performance.
-
Level table :
Level Numeric value CRITICAL 50 ERROR 40 WARNING 30 INFO 20 DEBUG 10 NOTSET 0
LICENSE
Copyright 2019 ALI B OTHMAN(AI35), Inc.
easylogging2
Licensed under the GNU License , you may not use this
file except in compliance with the License.
You may obtain a copy of the License at :
https://github.com/AI35/easylogging2/blob/master/LICENSE
ALI .B .OTH - ORG : LinePY
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
easylogging2-2.1.1.tar.gz
(17.2 kB
view details)
File details
Details for the file easylogging2-2.1.1.tar.gz
.
File metadata
- Download URL: easylogging2-2.1.1.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6df371a5622724dac0c9dd4643ec78dd1a120458c8f0e366d14fd6021332a3f8 |
|
MD5 | e4d840f4968b084e91f33b4380817a78 |
|
BLAKE2b-256 | 5810b2ba76c24c0978dbbef9fa33e19dbd25f11f046a0d06272d74e6fcf81ec5 |