Torgeir Børresen created AVRO-1874:
--------------------------------------
Summary: py3 avro module import upsets logging level in host
application
Key: AVRO-1874
URL: https://issues.apache.org/jira/browse/AVRO-1874
Project: Avro
Issue Type: Bug
Components: python
Affects Versions: 1.8.1
Environment: 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"
Reporter: Torgeir Børresen
Priority: Minor
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).
----
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)