인프런 커뮤니티 질문&답변
개발 모드에서 캐시 로깅 사용방법
작성
·
139
0



"4.2) 데이터 캐시" 강의 진행시
npm run dev 로 진행시 { cache: "force-cache" } 설정하여도 캐싱이 안되는거 같은데요
npm run build
npm run start
로 진행시에는 캐싱이 동작하고있는걸로 보이나 로깅이 안되는것 같습니다.
강의 영상처럼 캐싱 동작 상태를 로깅을 하려면 어떤 옵션값을 설정 해야하나요 ?
제가 놓친거 같아서 돌려보거나 검색을 해봤는데 못찾아서 질문드립니다.
감사합니다.
답변 2
0
안녕하세요 이정환입니다.
올려주신 캡쳐 사진에 "no cache (hard refresh)" 라고 나타난 것 처럼, 개발 모드에서는 강력한 새로고침을 수행하셨을 때에는 캐시가 무효화 됩니다. "force-cache"를 적용한 상황이라고 하더라두요
따라서 force-cache의 동작을 확인하시려면 강력한 새로고침이 아닌 일반 새로고침을 이용하시길 권장드립니다.
PS. 프로덕션에서는 강력한 새로고침을 수행하셨을 때에도 캐시가 유지됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 현수님.
Next.js 개발 모드에서 캐싱 및 로그를 사용하시려는 질문에 대해 답변 드리겠습니다. Next.js에서 캐싱 관련 로깅을 활성화하려면 Next.js의 로깅 설정을 통한 방법과 개발 환경에서 필요한 설정을 정확히 잡아주는 것이 중요합니다.
개발 모드에서의 캐시 로깅 방법
- Next.js 설정에서 로깅 활성화:
다음과 같이next.config.js파일에 로깅 설정을 추가하셨는지 확인해 보세요.fetches.fullUrl: true설정은 fetch 요청의 전체 URL을 로깅하는데 도움이 됩니다.
const nextConfig = {
logging: {
fetches: {
fullUrl: true
}
}
}
module.exports = nextConfig;
개발 모드 확인:
개발 모드에서cache: "force-cache"옵션이 정상적으로 동작하지 않는 경우가 있습니다. 이는 개발 모드의 특성상 캐시 사용이 제한될 수 있기 때문입니다. 개발 환경에서는 캐시보다는 빠른 리로딩과 오류 탐지가 우선시됩니다.캐시 상태 로깅:
Next.js에서 기본적으로 요청의 캐시 상태와 관련된 로그를 자동으로 제공하지 않을 수 있습니다. 직접 캐시 로깅을 위해서 다음과 같은 방법을 고려할 수 있습니다:미들웨어 활용: 캐시 로직이나 응답을 직접 처리하고 로깅하는 미들웨어를 구현하여 캐싱이 사용되는 경우 또는 무시된 경우 로그를 출력하게 설정할 수 있습니다.
콘솔 사용: 데이터를 fetch 할 때
console.log를 추가하여 어떤 조건에서 캐시가 사용되고 있는지, 또는 무시되는 이유를 수동으로 확인할 수 있도록 설정합니다.
빌드 모드에서 검증:
npm run build및npm run start로 동작 시 캐시가 제대로 동작하는 것이 확인되었다면, 이는 일반적인 현상입니다. 배포 모드에서는 캐시가 제대로 동작하고 최적화된 상태로 제공되므로 추가적인 설정은 필요하지 않을 수 있습니다.
더불어 공식 Next.js 문서의 로깅 및 디버깅 부분도 참고하여 더욱 구체적인 로깅 설정을 확인해볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





답변 감사합니다.
개발자 모드에서 "Disable cache" 옵션을 켜두고 사용하던걸 깜박했서네요 체크해제해서 테스트 완료하였습니다.