-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
Current cozy-logger implementation may be troublesome for future maintainers. Here are some questions/remarks I had in my head when reading the code:
filterOut()method's name is suggesting that it's filtering something, but it just returns a boolean. Then the caller decides to filter it or not regarding the boolean.filterOut()implementation is suggesting that all filters should return a boolean, butfilterSecrets()can only returnvoidor throw an exception.- I'm not sure it is a good thing to throw an exception from a logger (imho loggers should never impact an app's behavior). Are we sure we want this?
- What is the
secretlog level for? It is not documented, and filters prevent it to be called. Is it used somewhere? - filters logic is inverted compared to
filterOut- if
filterOutreturnstrue: object should be filtered - If a filter (
filterLevel) returnstrue: object should NOT be filtered
- if
filterLevel()always return false if the given type does not exist in thelevelsarray. This is intended but I think we should make this behavior more visible (even if this creates redundant code)setNoRetry()seems not to be used (except from unit tests). Is it dead code?- To few unit tests are written for this regarding the number of possible combinations
What do you think about this?
I would suggest to refactor this code, but as it is used in a lot of places and as it is stable code (not edited during last 3 years) this choice may be discutable.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels