|
|
|
|
|
by ajuc
562 days ago
|
|
My problem with this is handling malformed logs (which is exactly the logs you are the most interested in). If you process logs in a smart way you have to have assumptions about them. When the assumptions are broken the data might get missing (or you can lose the correlation between logs that are close together). That's why I prefer raw unprocessed logs. For example let's imagine you have a bug with stale transaction id in the first example. You probably won't notice when it's grouped by transactionId. If it's raw logs you might notice the order of the logs is wrong. Or maybe the grouping key is missing and your throw NPE and crash the app or skip that line of logs. I've seen both happen when I got too fancy with logging (we had async logger that logged by inserting into a db). |
|