Re: [python-tulip] Re: Why asyncio does not raise up exception when using `logging.config.fileConfig`

2016-09-19 Thread hilo jack
You are right, I'll try to figure out the mistake in my configuration of 
logging system in my spare time.
Many thanks!

On Monday, September 19, 2016 at 7:24:19 PM UTC+8, Martin Richard wrote:
>
> done.result() should raise an AttributeError (as you should have wrote 
> task.result()).
> When the logger is disabled, task.result() raise the exception.
>
> The mistake is somewhere in your configuration of the logging system: it 
> suppresses the output of the exception.
> For instance, when I call logging.error("test log") instead of 
> fileConfig(), the output is: 
>
> ERROR:root:test
> No exception raise 
> ERROR:asyncio:Task exception was never retrieved
> future:  
> exception=NameError("name 'undefined' is not defined",) created at 
> /usr/lib/python3.5/asyncio/tasks.py:345>
> source_traceback: Object created at (most recent call last):
> ...
>
> Which shows that the exception is indeed logged.
>
> 2016-09-19 13:16 GMT+02:00 hilo jack >:
>
>> done, pending = asyncio.get_event_loop().run_until_complete(asyncio.wait
>> ([sync(), sync()])) # terminated here
>> print(pending)
>> for task in done:
>>  done.result()  # it will not raise the exception
>>
>>
>> To get exceptions, I use asyncio.gather(*tasks) instead. 
>>
>> asyncio.get_event_loop().run_until_complete(asyncio.gather(*[sync(), sync
>> ()])) #  it will  raise  exception
>>
>>
>>
>
>
> -- 
> Martin  Richard
> www.martiusweb.net
>


Re: [python-tulip] Re: Why asyncio does not raise up exception when using `logging.config.fileConfig`

2016-09-19 Thread Martin Richard
done.result() should raise an AttributeError (as you should have wrote
task.result()).
When the logger is disabled, task.result() raise the exception.

The mistake is somewhere in your configuration of the logging system: it
suppresses the output of the exception.
For instance, when I call logging.error("test log") instead of
fileConfig(), the output is:

ERROR:root:test
No exception raise
ERROR:asyncio:Task exception was never retrieved
future: 
exception=NameError("name 'undefined' is not defined",) created at
/usr/lib/python3.5/asyncio/tasks.py:345>
source_traceback: Object created at (most recent call last):
...

Which shows that the exception is indeed logged.

2016-09-19 13:16 GMT+02:00 hilo jack :

> done, pending = asyncio.get_event_loop().run_until_complete(asyncio.wait([
> sync(), sync()])) # terminated here
> print(pending)
> for task in done:
>  done.result()  # it will not raise the exception
>
>
> To get exceptions, I use asyncio.gather(*tasks) instead.
>
> asyncio.get_event_loop().run_until_complete(asyncio.gather(*[sync(), sync
> ()])) #  it will  raise  exception
>
>
>


-- 
Martin  Richard
www.martiusweb.net