FilteringTargetWrapper: Add support for batch writing + PostFilteringTargetWrapper: performance optimizations#3405
Conversation
c406e16 to
558eb0f
Compare
558eb0f to
2328606
Compare
349b1ab to
c2e4c90
Compare
Codecov Report
@@ Coverage Diff @@
## master #3405 +/- ##
=======================================
+ Coverage 80% 80% +<1%
=======================================
Files 356 357 +1
Lines 28205 28281 +76
Branches 3750 3769 +19
=======================================
+ Hits 22559 22660 +101
+ Misses 4540 4535 -5
+ Partials 1106 1086 -20 |
|
Thanks! Is this a Breaking change? (Removal of ConditionExpression Condition) |
No breaking change. The existing property:
Is now forwarding into the new |
2ed42c9 to
9324129
Compare
|
@304NotModified Please include for ver. 4.6.4 |
9324129 to
89def84
Compare
89def84 to
c59754d
Compare
…nRepeated as Filter
c59754d to
3cb0d55
Compare
|
It would be nice if we could deduplicate PostFilteringTargetWrapper.ApplyFilter and FilteringTargetWrapper.Write - any idea how? |
Made a commit |
|
cool, what do you think of snakefoot#8 ? Or are lambdas bad for performance? |
Yes bad for performance when doing capture. Was also doing it first (With delegate-caching). Until the other target comes with a dynamic-filter-object. Then it became a TState-parameter (Because delegate-caching was not easy). |
|
OK! Added some docs and now this is perfect IMO :) |
Also happy with the result :) |
|
@304NotModified Guess you need to restart the appveyor-build |
|
restarted 2nd time 👼 |
|
Oops the idea was to merge this on to release/4.6.4. Anyway, canceled the build so no problem. |
|
Updated the documentation: https://github.com/NLog/NLog/wiki/FilteringWrapper-target and added link from https://github.com/NLog/NLog/wiki/WhenRepeated-Filter |
|
Ah this is also a xsd update |
And allow use of WhenRepeated as Filter:
Also made some optimizations to
PostFilteringTargetWrapperso it also supports OptimizeBufferReuse = true.And also "fixed"
PostFilteringTargetWrapperso it also works when writing a single LogEvent, without using BufferingWrapper or AsyncWrapper (More intuitive and user-friendly)