Skip to content

Latest commit

 

History

History
162 lines (136 loc) · 5.94 KB

README.md

File metadata and controls

162 lines (136 loc) · 5.94 KB

easylogging2

Simple and Easy Logging lib for python3

easylogging2 version status python windows linux license

REQUIREMENTS

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 (60 hide all level).
      - This option work on --logfile
        file_level=0
      
  • 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