Search code examples
javaspringresttemplate

Stop RestTemplate logging warning on 404 not found


We have a service based platform where its possible (/common) for a resource not to be found - e.g. calling our security module with the wrong username will return 404 Not Found, something that will happen every time a user makes a typo in their login box.

We use Spring RestTemplate for these calls, which is great, but every time a 404 is encountered it dutifully logs a warning which is spamming our logs.

We obviously don't want to suppress warnings, except in the specific case of 404 not found but there doesn't appear to be a way to do this (logger is private/final, method to invoke it is private etc).

Our solution is not good - to return 200/OK with empty dataset and handle a null pointer, which is both nasty and not a good restful implementation.

Does anyone know a better way to do this?


Solution

  • How about using a RegexFilter filter on your logging appender?

    http://logging.apache.org/log4j/2.x/manual/filters.html#RegexFilter

    ... that's the Log4J way of doing it, but I'm guessing there must be similar filters for other logging libraries.