실전코드/JavaScript, VueJS

[Nuxt3] 운영 환경에서 콘솔 로그 노출 제한

행수쌤 2025. 1. 10. 09:55
728x90
반응형

local 환경에서 디버그를 위해 log를 찍어놨는데

서비스 운영에 앞서 이 모든 log함수들을 찾아서 지울 수도 없는 노릇이다.

따라서 운영환경 등 선별된 환경에서는 log함수를 동작하지 않도록 조치할 수 있다.

이 때 라이브러리 등을 사용할 필요 없이 서버가 빌드되는 과정에 conole.log 함수를 빈 함수로 오버라이드 하면 된다.

 

우선 Nuxt3에서 서버 구동 시 전역설정을 할 수 있는 plugins 폴더에 ts파일을 만들어 적용한다.

export default defineNuxtPlugin(() => {
  const runtimeConfig = useRuntimeConfig()

  if (runtimeConfig.public.env === 'dev') {
    const console = globalThis.console || {}
    console.log = function no_console() {}
    console.warn = function no_console() {}
    console.error = function no_console() {}
  }
})

 

참고

이 때 runtimeConfig는 .env 파일 내 존재하는 데이터를

nuxt.config.ts에서 runtimeConfig.public에 적용해서 사용해주면 된다

ex)

.env.dev

VUE_APP_ENV=dev

nuxt.config.ts

export default defineNuxtConfig({
  ...
  runtimeConfig: {
    public: {
      env: process.env.VUE_APP_ENV,
    },
  },
  ...
})
728x90
반응형