Summary
Approximately 73 log call sites across the codebase use Java string concatenation ("msg: " + variable) instead of Log4j 2's parameterized form ("msg: {}", variable). This means the string is always constructed even when the log level is disabled, wasting CPU and memory on every suppressed log call.
Top Offenders
harvest/src/main/java/gov/nasa/pds/harvest/cmd/HarvestCmd.java — 7 sites
common/src/main/java/gov/nasa/pds/registry/common/es/service/SchemaUpdater.java — 6 sites
common/src/main/java/gov/nasa/pds/registry/common/es/service/ProductService.java — 6 sites
common/src/main/java/gov/nasa/pds/registry/common/es/dao/DataLoader.java — 6 sites
manager/src/main/java/gov/nasa/pds/registry/mgr/srv/IndexService.java — 5 sites
Acceptance Criteria
- All log call sites use parameterized form:
log.info("key={}", value) not log.info("key=" + value)
- Applies to all levels (DEBUG, INFO, WARN, ERROR) across all three modules
- No functional behavior changes — this is a pure performance/style fix
For Internal Dev Team To Complete
⚙️ Engineering Details
🎉 Integration & Test
🤖 Generated with Claude Code
Summary
Approximately 73 log call sites across the codebase use Java string concatenation (
"msg: " + variable) instead of Log4j 2's parameterized form ("msg: {}", variable). This means the string is always constructed even when the log level is disabled, wasting CPU and memory on every suppressed log call.Top Offenders
harvest/src/main/java/gov/nasa/pds/harvest/cmd/HarvestCmd.java— 7 sitescommon/src/main/java/gov/nasa/pds/registry/common/es/service/SchemaUpdater.java— 6 sitescommon/src/main/java/gov/nasa/pds/registry/common/es/service/ProductService.java— 6 sitescommon/src/main/java/gov/nasa/pds/registry/common/es/dao/DataLoader.java— 6 sitesmanager/src/main/java/gov/nasa/pds/registry/mgr/srv/IndexService.java— 5 sitesAcceptance Criteria
log.info("key={}", value)notlog.info("key=" + value)For Internal Dev Team To Complete
⚙️ Engineering Details
🎉 Integration & Test