Conversation
There was a problem hiding this comment.
Pull request overview
This PR reduces REST API log noise by changing how 4xx client errors are logged in DSpaceApiExceptionControllerAdvice, specifically downgrading HTTP 404 responses from WARN to DEBUG.
Changes:
- Refactored 4xx logging into a new
logClientError(...)helper. - Logged 404 (NOT_FOUND) at DEBUG while keeping other 4xx responses at WARN.
You can also share your feedback on Copilot code review. Take the survey.
...r-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java
Show resolved
Hide resolved
...r-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java
Show resolved
Hide resolved
…server.debug-404)
There was a problem hiding this comment.
Pull request overview
Reduces REST API WARN log noise by making 404 (NOT_FOUND) responses optionally log at DEBUG instead, controlled via a new runtime configuration property.
Changes:
- Add
logging.server.debug-404configuration option (default enabled indspace.cfg) to downgrade 404 logging to DEBUG. - Refactor 4xx logging in
DSpaceApiExceptionControllerAdviceinto a shared helper which applies the 404 rule.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
dspace/config/dspace.cfg |
Introduces logging.server.debug-404 with explanatory comments and default true. |
dspace-server-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java |
Adds config constant + helper methods to log 404 at DEBUG and other 4xx at WARN; routes existing WARN logging through the helper. |
You can also share your feedback on Copilot code review. Take the survey.
...r-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java
Show resolved
Hide resolved
...r-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java
Show resolved
Hide resolved
...r-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java
Show resolved
Hide resolved
…space.app.rest.NotFound)
There was a problem hiding this comment.
Pull request overview
This PR reduces log noise from frequent, expected REST API 404 responses (e.g., “No such configuration property: *”) by routing 404 client-error warnings to a dedicated logger which is disabled by default.
Changes:
- Added a dedicated Log4j2 logger
org.dspace.app.rest.NotFound(defaultOFF) across standard/container/CLI Log4j2 configs. - Updated
DSpaceApiExceptionControllerAdviceto log 404 (NOT_FOUND) warnings via the dedicated logger, while keeping other 4xx warnings on the default logger.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
dspace/config/log4j2.xml |
Adds disabled-by-default logger for 404s to prevent WARN log flooding. |
dspace/config/log4j2-container.xml |
Mirrors the 404 logger suppression for container-based logging. |
dspace/config/log4j2-cli.xml |
Mirrors the 404 logger suppression for CLI logging profile. |
dspace-server-webapp/.../DSpaceApiExceptionControllerAdvice.java |
Routes 404 client-error warnings to the dedicated logger; refactors 4xx logging into a helper method. |
You can also share your feedback on Copilot code review. Take the survey.
...r-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java
Outdated
Show resolved
Hide resolved
...r-webapp/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java
Show resolved
Hide resolved
* Log 404 responses at DEBUG instead of WARN to reduce log noise * Log 404 responses at DEBUG instead of WARN (configurable via logging.server.debug-404) * Skip stack trace extraction for suppressed 404 debug logs * Replace custom debug-404 property with dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Suppress 404 warn logs via dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Turn off that warn logs for the dspace.log * Updated log name to be more unique
* Log 404 responses at DEBUG instead of WARN to reduce log noise * Log 404 responses at DEBUG instead of WARN (configurable via logging.server.debug-404) * Skip stack trace extraction for suppressed 404 debug logs * Replace custom debug-404 property with dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Suppress 404 warn logs via dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Turn off that warn logs for the dspace.log * Updated log name to be more unique
* Log 404 responses at DEBUG instead of WARN to reduce log noise * Log 404 responses at DEBUG instead of WARN (configurable via logging.server.debug-404) * Skip stack trace extraction for suppressed 404 debug logs * Replace custom debug-404 property with dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Suppress 404 warn logs via dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Turn off that warn logs for the dspace.log * Updated log name to be more unique
* Log 404 responses at DEBUG instead of WARN to reduce log noise * Log 404 responses at DEBUG instead of WARN (configurable via logging.server.debug-404) * Skip stack trace extraction for suppressed 404 debug logs * Replace custom debug-404 property with dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Suppress 404 warn logs via dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Turn off that warn logs for the dspace.log * Updated log name to be more unique
* Log 404 responses at DEBUG instead of WARN to reduce log noise * Log 404 responses at DEBUG instead of WARN (configurable via logging.server.debug-404) * Skip stack trace extraction for suppressed 404 debug logs * Replace custom debug-404 property with dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Suppress 404 warn logs via dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Turn off that warn logs for the dspace.log * Updated log name to be more unique
* Reduce warn logs noise (#1268) * Log 404 responses at DEBUG instead of WARN to reduce log noise * Log 404 responses at DEBUG instead of WARN (configurable via logging.server.debug-404) * Skip stack trace extraction for suppressed 404 debug logs * Replace custom debug-404 property with dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Suppress 404 warn logs via dedicated Log4j2 logger (org.dspace.app.rest.NotFound) * Turn off that warn logs for the dspace.log * Updated log name to be more unique * The row lenght was updated to be less than 120 chars (#1274)
Problem description
There is a lot of noise from this warn log
No such configuration property: *.There are at least 10 logs per a minute like that.
Analysis
(Write here, if there is needed describe some specific problem. Erase it, when it is not needed.)
Problems
(Write here, if some unexpected problems occur during solving issues. Erase it, when it is not needed.)
Manual Testing (if applicable)
Copilot review