GitHub user ahouben opened a pull request:

    https://github.com/apache/log4net/pull/12

    Fixes for the LogicalThreadContext

    The current implementation of `LogicalThreadContext` does not flow 
correctly through `async/await` calls as described in 
http://stackoverflow.com/questions/23316743/log4net-logicalthreadcontext-not-working-as-expected.
    
    This fix honors the shallow-copy-on-write behavior and immutable 
requirements when using `CallContext.Logical{Get,Set}Data`. Please see the 
accompanied `LogicalThreadContextTest` which is a copy of `ThreadContextTest` 
but adds `TestLogicalThreadPropertiesPatternAsyncAwait` and 
`TestLogicalThreadStackPatternAsyncAwait` to demonstrate the fix.
    
    Thanks to @stephen-cleary for all the good information on the inner 
workings of the async/await mechanism all over the internet.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ahouben/log4net feature/async

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/log4net/pull/12.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #12
    
----
commit 72673fc46aa8abe4fd21018104352b143b7cce8d
Author: Alexander Houben <ahou...@greenliff.com>
Date:   2015-03-05T01:17:28Z

    Fix for the LogicalThreadContext{Stack,Properties}

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to