I feel oppositely. I feel more like I too often use a debugger when I should be setting up a robust logging system. Debuggers are often "a temporary solution to permanent problem"...
Contrary to the author's comments, it makes perfect sense for every system to have its own logging system.
1) It isn't at all hard to create so it doesn't cost you.
2) Every system is a little different in the levels of logging that are use as well as the details that it wants to include or exclude.
I'm using Qt currently and their qDebug() statement just sucks for my purposes - there's arbitrary limit on the number of debug outputs allowed. Why? Why? ...
The advantage of hand-rolled loggers is they are easier, for one person, but more difficult for outsiders to get a grip on (compared to a standard solution, which should be well documented).
The question is - should other people modify the logging code? If it's just a part of your scaffolding, it might not be a huge issue.
It then becomes a trade-off between productivity, and technical debt. Prototypes don't need to be sustainable, they just need to be done. You'll either re-write them, or they will work forever (by some miracle) without maintenance, or most likely end up in the big bit bucket in /dev/null
Comments
On the debugger point that begins the article:
I feel oppositely. I feel more like I too often use a debugger when I should be setting up a robust logging system. Debuggers are often "a temporary solution to permanent problem"...
Contrary to the author's comments, it makes perfect sense for every system to have its own logging system.
1) It isn't at all hard to create so it doesn't cost you. 2) Every system is a little different in the levels of logging that are use as well as the details that it wants to include or exclude.
I'm using Qt currently and their qDebug() statement just sucks for my purposes - there's arbitrary limit on the number of debug outputs allowed. Why? Why? ...
The advantage of hand-rolled loggers is they are easier, for one person, but more difficult for outsiders to get a grip on (compared to a standard solution, which should be well documented).
The question is - should other people modify the logging code? If it's just a part of your scaffolding, it might not be a huge issue.
It then becomes a trade-off between productivity, and technical debt. Prototypes don't need to be sustainable, they just need to be done. You'll either re-write them, or they will work forever (by some miracle) without maintenance, or most likely end up in the big bit bucket in /dev/null
That's annoyingly funny. Is there a way to change the limit?
You can change the limit for qDebug() maximum message # but like a lot of defaults, it just tends to stay default...