--- title: error / startup-log-suppression-spotless-format-2026-07-03 source_type: error-note status: raw related_branches: [feature-startup-failure-log-suppression] related_projects: [ca-tmpl] tags: [error, ca-tmpl, testing, gradle, static-analysis] created: 2026-07-03 status_label: resolved --- # error: startup-log-suppression-spotless-format-2026-07-03 ## Parent / 부모 - [[raw/branch-notes/feature-startup-failure-log-suppression]] ## 증상 / Symptom - 에러 메시지 (원문 그대로): ```text Execution failed for task ':app-bootstrap:spotlessJavaCheck'. > The following files had format violations: src/main/java/dev/caskeleton/bootstrap/logging/StartupFailureSpringBootLogFilter.java src/test/java/dev/caskeleton/bootstrap/logging/StartupFailureSpringBootLogFilterTest.java Run './gradlew spotlessApply' to fix all violations. ``` - 발생 컨텍스트: `./gradlew check` - 발생 시점: 2026-07-03 10:05 KST - 발생 환경: local - 재현 가능 여부: `always` ## 재현 절차 / Reproduction 1. startup failure log suppression Java files를 수동 편집한다. 2. `cd src && ./gradlew check`를 실행한다. 3. 기대 결과: `check` 통과. 4. 실제 결과: `:app-bootstrap:spotlessJavaCheck`가 line wrapping 차이로 실패. ## 조사 단계 / Investigation log - 2026-07-03 10:05 — `./gradlew check` 실행 → `StartupFailureSpringBootLogFilter.java`, `StartupFailureSpringBootLogFilterTest.java` formatting violation 확인. - 2026-07-03 10:06 — `./gradlew :app-bootstrap:spotlessApply` 실행 → Spotless가 Java formatting 적용. - 2026-07-03 10:07 — `./gradlew check` 재실행 → 전체 check 통과. ## 근본 원인 / Root cause - 직접 원인: 새 Java 파일의 line wrapping이 Spotless formatter가 요구하는 형태와 달랐다. - 근본 원인: manual patch 작성 시 formatter output을 미리 적용하지 않았다. - 트리거 조건: `./gradlew check`가 `:app-bootstrap:spotlessJavaCheck`를 실행했다. ## Sources / 근거 - Local command output: `./gradlew check` — Spotless violation 위치와 remediation command를 출력. - Local command output: `./gradlew :app-bootstrap:spotlessApply` — formatting 적용. - Local command output: `./gradlew check` — formatting 적용 후 전체 check 통과. ## 해결 / Resolution - 적용한 조치: `cd src && ./gradlew :app-bootstrap:spotlessApply` - 검증 방법: `cd src && ./gradlew check` - 잔여 위험 / 후속 작업: Java 파일을 수동 편집한 뒤에는 focused test 전후로 `spotlessApply` 또는 `spotlessJavaCheck`를 빠르게 돌리면 전체 `check` 재시도 비용을 줄일 수 있다. ## 회고 / Lessons - 빨리 감지하는 신호: `spotlessJavaCheck FAILED`와 "Run './gradlew spotlessApply' to fix all violations." - 예방 체크리스트 항목 후보: 새 Java 파일 추가 후 `./gradlew :app-bootstrap:spotlessApply` 실행. - wiki로 끌어올릴 가치가 있는 일반화된 교훈: 없음. 프로젝트 로컬 formatter 운용 메모로 충분하다. ## Related / 관련 - 관련 branch note: [[raw/branch-notes/feature-startup-failure-log-suppression]]