log.js 685 B

123456789101112131415161718192021222324252627
  1. import log from 'loglevel'
  2. import prefix from 'loglevel-plugin-prefix'
  3. const logger = () => {
  4. // trace/debug/info/warn/error 단계로 진행되며 silent일 경우 모든 로그가 표현되지 않는다.
  5. log.setLevel(import.meta.env.VITE_APP_DEBUG_LEVEL)
  6. prefix.reg(log)
  7. prefix.apply(log, {
  8. timestampFormatter(date) {
  9. // 시:분:처:밀리세컨드
  10. return date.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, '$1') + ':' + date.getMilliseconds()
  11. },
  12. format(level, name, timestamp) {
  13. return `${(`[${timestamp}]`)}[${(level)}]`
  14. },
  15. })
  16. }
  17. export default defineNuxtPlugin(() => {
  18. logger()
  19. return {
  20. provide: {
  21. log
  22. }
  23. }
  24. })