Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1874

py3 avro module import upsets logging level in host application

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 1.8.1
    • 1.8.2
    • python
    • None
    • Mac OSX El Capitan, Macbook Pro,
      Anaconda Python v. 3.5.1

      Avro installed from source of Avro1.8.1/lang/py3
      (apache package "avro-src-1.8.1.tar.gz")
      using "sudo python setup.py install"

    Description

      When importing "avro.datafile" the logging level of the host application gets overriden.

      In the simple example provided here: https://github.com/torgebo/avro-1.8.1-logging-break
      the logging level is wrongfully set to "logging.WARNING" during execution instead of "logging.INFO".

      The issue seems to be resolved by using module level loggers in the pattern of

      logger = logging.getLogger(_name_)

      and replacing current calls to the logger named "logging" as this logger "logger" instead. This approach is described here: https://docs.python.org/3/howto/logging.html#logging-advanced-tutorial

      When setting logger across all avro source files, it is observed that the application sets the logging level faithfully.


      This issue was not observed with python version 2, although the recommended way to resolve module level logging as described in the logging python docs seems to be the same (ie. using the logging.getLogger method to access the logger handle).


      Attachments

        Issue Links

          Activity

            People

              torgebo Torgeir Børresen
              torgebo Torgeir Børresen
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: