- Python-3 --> http://www.python.org/download/
- 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.
-
Clone this repo:
$ git clone https://github.com/AI35/easylogging2
-
Using pip:
$ pip install easylogging2
-
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 (60 hide all level).
file_level=0
- Change level number to display log in console (0 display all level).
-
Show and hide error info from logging.conf :
- * (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 :
formatter = %(asctime)s - %(name)s - %(levelname)s - %(message)s
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
Use @Yourlog.func_set(level) to set logger and handler level to function and ignore all level config in function.
-
Level table :
Level Numeric value CRITICAL 50 ERROR 40 WARNING 30 INFO 20 DEBUG 10 NOTSET 0
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