classification
Title: In windows, asyncio.run_in_executor strips logger class information from modified logging.Logger objects
Type: behavior Stage:
Components: asyncio, IO Versions: Python 3.8
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: adsherman09, asvetlov, yselivanov
Priority: normal Keywords:

Created on 2020-12-02 20:45 by adsherman09, last changed 2020-12-02 20:45 by adsherman09.

Files
File name Uploaded Description Edit
example_logger_behavior.py adsherman09, 2020-12-02 20:45
Messages (1)
msg382335 - (view) Author: Alex Sherman (adsherman09) Date: 2020-12-02 20:45
IN WINDOWS asyncio's loop.run_in_executor(pool, callback, logger, *args) strips the subclass information about logging.Loggers when passed into concurrent.futures.ProcessPoolExecutor. The logger behaves as a default logging.Logger object as far as I can tell.

Run the attached file to see via print statements that the logger information (such as additional verbosity and file handling) is all removed from the logger but only inside the loop.run_in_executor call. 

This is a windows specific error. Tested on windows 10 (misbehaved) and ubuntu 18.04 (behaved as expected).
History
Date User Action Args
2020-12-02 20:45:17adsherman09create