Skip to main content
replaced http://softwareengineering.stackexchange.com/ with https://softwareengineering.stackexchange.com/
Source Link

Data FTW.

Your "contra":

  • "cannot be easily integrated into the Message"

-> For your exception types, it should be easy enough to override Messageso that it does incorporate Data .. although I only would consider this if the Data is the messageData is the message.

  • "loggers ignore this field and won't dump it"

Googling for Nlog as an example yields:

Exception layout renderer

(...)

format - Format of the output. Must be a comma-separated list of exception properties: Message, Type, ShortType, ToString, Method, StackTrace & Data. This parameter value is case-insensitive. Default: message

So it seems that's easily configurable.

  • requires keys and casting because values are object

Huh? Just dump the objects in there and make sure they have a usable ToString() method.

Also, I don't quite see any problem with the keys. Just use some mild uniqueness and you're good.


Disclaimer: This is what I could immediately see from the question and what I googled up on Data in 15 minutes. I thought it's mildly helpful, so I put it out as an answer, but I have never used Data myself, so it might well be that the questioner here knows way more about this than me.

Data FTW.

Your "contra":

  • "cannot be easily integrated into the Message"

-> For your exception types, it should be easy enough to override Messageso that it does incorporate Data .. although I only would consider this if the Data is the message.

  • "loggers ignore this field and won't dump it"

Googling for Nlog as an example yields:

Exception layout renderer

(...)

format - Format of the output. Must be a comma-separated list of exception properties: Message, Type, ShortType, ToString, Method, StackTrace & Data. This parameter value is case-insensitive. Default: message

So it seems that's easily configurable.

  • requires keys and casting because values are object

Huh? Just dump the objects in there and make sure they have a usable ToString() method.

Also, I don't quite see any problem with the keys. Just use some mild uniqueness and you're good.


Disclaimer: This is what I could immediately see from the question and what I googled up on Data in 15 minutes. I thought it's mildly helpful, so I put it out as an answer, but I have never used Data myself, so it might well be that the questioner here knows way more about this than me.

Data FTW.

Your "contra":

  • "cannot be easily integrated into the Message"

-> For your exception types, it should be easy enough to override Messageso that it does incorporate Data .. although I only would consider this if the Data is the message.

  • "loggers ignore this field and won't dump it"

Googling for Nlog as an example yields:

Exception layout renderer

(...)

format - Format of the output. Must be a comma-separated list of exception properties: Message, Type, ShortType, ToString, Method, StackTrace & Data. This parameter value is case-insensitive. Default: message

So it seems that's easily configurable.

  • requires keys and casting because values are object

Huh? Just dump the objects in there and make sure they have a usable ToString() method.

Also, I don't quite see any problem with the keys. Just use some mild uniqueness and you're good.


Disclaimer: This is what I could immediately see from the question and what I googled up on Data in 15 minutes. I thought it's mildly helpful, so I put it out as an answer, but I have never used Data myself, so it might well be that the questioner here knows way more about this than me.

added 58 characters in body
Source Link
Martin Ba
  • 7.9k
  • 7
  • 37
  • 58

Data FTWFTW.

Your "cons""contra":

  • "cannot be easily integrated into the Message"

-> For your exception types, it should be easy enough to override Messageso that it does incorporate Data .. although I only would consider this if the Data is the message.

  • "loggers ignore this field and won't dump it"

Googling for Nlog as an example yields:

Exception layout renderer

(...)

format - Format of the output. Must be a comma-separated list of exception properties: Message, Type, ShortType, ToString, Method, StackTrace & Data. This parameter value is case-insensitive. Default: message

So it seems that's easily configurable.

  • requires keys and casting because values are object

Huh? Just dump the objects in there and make sure they have a usable ToString() method.

Also, I don't quite see any problem with the keys. Just use some mild uniqueness and you're good.


Disclaimer: This is what I could immediately see from the question and what I googled up on Data in 15 minutes. I thought it's mildly helpful, so I put it out as an answer, but I have never used Data myself, so it might well be that the questioner here knows way more about this than me.

Data FTW.

Your "cons":

  • "cannot be easily integrated into the Message"

-> For your exception types, it should be easy enough to override Messageso that it does incorporate Data .. although I only would consider this if the Data is the message.

  • "loggers ignore this field and won't dump it"

Googling for Nlog as an example yields:

Exception layout renderer

(...)

format - Format of the output. Must be a comma-separated list of exception properties: Message, Type, ShortType, ToString, Method, StackTrace & Data. This parameter value is case-insensitive. Default: message

So it seems that's easily configurable.

  • requires keys and casting because values are object

Huh? Just dump the objects in there and make sure they have a usable ToString() method.

Also, I don't quite see any problem with the keys. Just use some mild uniqueness and you're good.


Disclaimer: This is what I could immediately see from the question and what I googled up on Data in 15 minutes. I thought it's mildly helpful, so I put it out as an answer, but I have never used Data myself, so it might well be that the questioner here knows way more about this than me.

Data FTW.

Your "contra":

  • "cannot be easily integrated into the Message"

-> For your exception types, it should be easy enough to override Messageso that it does incorporate Data .. although I only would consider this if the Data is the message.

  • "loggers ignore this field and won't dump it"

Googling for Nlog as an example yields:

Exception layout renderer

(...)

format - Format of the output. Must be a comma-separated list of exception properties: Message, Type, ShortType, ToString, Method, StackTrace & Data. This parameter value is case-insensitive. Default: message

So it seems that's easily configurable.

  • requires keys and casting because values are object

Huh? Just dump the objects in there and make sure they have a usable ToString() method.

Also, I don't quite see any problem with the keys. Just use some mild uniqueness and you're good.


Disclaimer: This is what I could immediately see from the question and what I googled up on Data in 15 minutes. I thought it's mildly helpful, so I put it out as an answer, but I have never used Data myself, so it might well be that the questioner here knows way more about this than me.

Source Link
Martin Ba
  • 7.9k
  • 7
  • 37
  • 58

Data FTW.

Your "cons":

  • "cannot be easily integrated into the Message"

-> For your exception types, it should be easy enough to override Messageso that it does incorporate Data .. although I only would consider this if the Data is the message.

  • "loggers ignore this field and won't dump it"

Googling for Nlog as an example yields:

Exception layout renderer

(...)

format - Format of the output. Must be a comma-separated list of exception properties: Message, Type, ShortType, ToString, Method, StackTrace & Data. This parameter value is case-insensitive. Default: message

So it seems that's easily configurable.

  • requires keys and casting because values are object

Huh? Just dump the objects in there and make sure they have a usable ToString() method.

Also, I don't quite see any problem with the keys. Just use some mild uniqueness and you're good.


Disclaimer: This is what I could immediately see from the question and what I googled up on Data in 15 minutes. I thought it's mildly helpful, so I put it out as an answer, but I have never used Data myself, so it might well be that the questioner here knows way more about this than me.