Comments (7)
@Driedas Sure!
from serilog.exceptions.
Yes, as you've found it works but requires reflection to output. I'd still accept a PR to add support without using reflection.
from serilog.exceptions.
Just a question: is it worth it? The cost of reflection is negligible and paid just for the first time exception is destructured. The cost is also minuscule compared to the cost of logging anyway.
Supporting so many types of exceptions manually seems like a burden in terms of lines of code/tests/maintenance.
As was thinking even, maybe let's go the other way around, and remove all(or most) custom destructurers we have and leave just reflection-based one?
from serilog.exceptions.
We only have a few custom destructurors at the moment. The list above just completes everything built into System.*
. Some of the above are more important than others. I've added them all above for completeness.
The cost can add up if you have an app e.g. if you have an app throwing large numbers of TaskCanceledException
exceptions for example which can happen in real life quite easily. There is an emphasis on performance in .NET lately, so I think it makes sense.
from serilog.exceptions.
Hi @RehanSaeed, would you accept a PR that adds a destructurer for RegexMatchTimeoutException?
from serilog.exceptions.
@RehanSaeed
heh, never mind, I've cloned the project, added the following test to prove that this isn't implemented yet:
var exception = new RegexMatchTimeoutException("input", "pattern", TimeSpan.FromSeconds(1));
Test_LoggedExceptionContainsProperty(exception, nameof(exception.Input), exception.Input);
Imagine my surprise when it turned green instead of red as expected :-). Looks like ReflectionBasedDestructurer
already takes care of this using a bit of smart reflection. D'oh, TDD scores...
from serilog.exceptions.
I believe we may be able to do this with a source generator. Worth looking into.
from serilog.exceptions.
Related Issues (20)
- [Docs] Destructurer via json HOT 3
- Add configuration example to readme HOT 1
- Separated Column or Porperty for exception stacktrace HOT 2
- Exception with redefined property(new modifier) stops enrichment altogether HOT 13
- Dependency Dashboard
- Not showing Exception stack trace in "Exception" field of the log HOT 13
- Add destructurer for Refit ApiException HOT 4
- Filtering out any property from a direct property of ExceptionDetails HOT 3
- mapper [NpgsqlValue] cannot be changed from type [date] to [ObjectMapper] HOT 3
- EF6 - protection against logging entire db. HOT 1
- Entity Framework Logging Behaviour HOT 2
- Exceptions with large properties HOT 3
- Same Key Added Exception in ExceptionPropertiesBag HOT 5
- [TaskCanceledExceptionDestructurer] Destructured object type inconsistent HOT 1
- Maximum destructuring depth reached. HOT 3
- Demystified exception stack trace support HOT 1
- Serilog.Exceptions.EntityFrameworkCore docs warning unclear HOT 1
- Request that Serilog.Exceptions.EntityFrameworkCore description also includes Serilog appsetting.json example HOT 1
- FOSSA Compliance tool license missing for v4.1.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from serilog.exceptions.