ezpylog is a minimalistic and easy to use python logger
Using pip :
- directly from command line with :
pip install ezpylog - manually by downloading ezpylog and install it with
pip install ezpylog-X.X.tar.gz
from ezpylog import Logger, LogLevelThe level can be as following :
LogLevel.DEBUG
LogLevel.INFO
LogLevel.WARNING
LogLevel.ERROR
LogLevel.CRITICALlogger = Logger(name=None,
min_level: int = logging.WARNING,
logfile: str = None,
logfile_level=None,
color_on_console: bool = True)nameis the name of the logger. If not set, the name of the module will be used.min_levelis aLogLevelenum and filters log messages on the console (ex :WARNINGwill not printINFOmessages). Default isWARNING.contextis the logging context, you can use"main()"if you use it in__main__for example. Default is"".logfileis the name of your optional log file forDEBUG,INFOandDEBUGmessages. Default isNone(no log file).logfile_levelis aLogLevelenum and filters log messages in the log file (ex :WARNINGwill not printINFOmessages). Default isWARNING.color_on_consoleis a boolean to enable or disable color on the console. Default isTrue.
logger.log(msg)
# or
logger.log(msg, level)with default level = LogLevel.INFO.
You can call the loglevel corresonding function too :
logger.debug(msg)
logger.info(msg)
logger.warning(msg)
logger.error(msg)
logger.critical(msg)You can find this exemple by calling Logger.loggerdemo()
from ezpylog import Logger, LogLevel
a = 1234567
logger = Logger(LogLevel.DEBUG)
logger.log("Debug message", LogLevel.DEBUG, "context")
logger.log("Info message")
logger.log("Warning message", LogLevel.WARNING, "context")
logger.log(f"Error message {a}", LogLevel.ERROR, "context")
logger.log("Critical message", LogLevel.CRITICAL, "context")
logger2 = Logger(LogLevel.WARNING, "__main__")
logger2.log("Debug message", LogLevel.DEBUG, "subcontextA()")
logger2.log("Info message", LogLevel.INFO, "subcontextB()")
logger2.log("Warning message", LogLevel.WARNING, "subcontextA()")
logger2.log(f"Error message {a}", LogLevel.ERROR, "subcontextB()")
logger2.log("Critical message", LogLevel.CRITICAL)prints the following :
