1.0.3 • Published 10 months ago

@makecode/logging-manager v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

@makecode/logging-manager

간단하고 커스터마이즈 가능한 JavaScript/TypeScript용 로깅 유틸리티입니다. 로그 레벨, 출력 함수 및 로그 그룹을 쉽게 관리할 수 있도록 설계되었습니다.

설치

npm을 사용하여 패키지를 설치하세요:

npm install @makecode/logging-manager

또는 Yarn을 사용하여 설치하세요:

yarn add @makecode/logging-manager

사용법

프로젝트에서 logger를 임포트합니다:

import { LOG_LEVEL, LOG_GROUP_KEY, logger } from '@makecode/logging-manager';

기본 로깅 예제

특정 로그 레벨 사용

logger(LOG_LEVEL.ERROR, console.debug, 'test1', 'test-1');
logger(LOG_LEVEL.WARN)(console.log)('test2', 'test-2');

미리 정의된 로깅 메서드 사용

logger.error('test5', 'test-5');
logger.warn('test6', 'test-6');
logger.info('test7', 'test-7');
logger.debug('test8', 'test-8');

간단한 로그 출력

logger('test4', 'test-4');

고급 기능

그룹화된 로그

LOG_GROUP_KEY 파라미터를 사용하여 로그를 그룹화할 수 있습니다. 지정된 그룹에 속한 로그만 출력됩니다.

?logGroup=${로그필터값} 예를 들어 https://www.test.com?logGroup=test 해당 그룹에 해당하는 로그만 출력

logger({ level: LOG_LEVEL.WARN, [LOG_GROUP_KEY]: LOG_LEVEL.WARN })(
  `로그 그룹: "${LOG_LEVEL.WARN}"`,
);
logger({ level: LOG_LEVEL.ERROR, [LOG_GROUP_KEY]: 'test' })(
  '로그 그룹: "test"',
);

재사용 가능한 로거

재사용 가능한 로거 인스턴스를 생성할 수 있습니다:

const log = logger(LOG_LEVEL.WARN)(console.log);
log('로그 메시지 1');
log('로그 메시지 2', '추가 정보');

React에서 사용 예제

@makecode/logging-manager를 React 컴포넌트에서 사용하는 예제입니다:

import { useEffect } from 'react';
import { LOG_LEVEL, LOG_GROUP_KEY, logger } from '@makecode/logging-manager';

const LogTest = () => {
  useEffect(() => {
    logger(LOG_LEVEL.ERROR, console.debug, 'test1', 'test-1');
    logger(LOG_LEVEL.WARN)(console.log)('test2', 'test-2');
    logger(console.warn)('test3', 'test-3');
    logger('test4', 'test-4');

    logger.error('test5', 'test-5');
    logger.warn('test6', 'test-6');
    logger.info('test7', 'test-7');
    logger.debug('test8', 'test-8');

    logger({ level: LOG_LEVEL.WARN, [LOG_GROUP_KEY]: LOG_LEVEL.WARN })(
      `로그 그룹: "${LOG_LEVEL.WARN}"`,
    );
    logger({ level: LOG_LEVEL.ERROR, [LOG_GROUP_KEY]: 'test' })(
      '로그 그룹: "test"',
    );

    const log = logger(LOG_LEVEL.WARN)(console.log);
    log('로그 메시지 1');
    log('로그 메시지 2', '추가 정보');
  }, []);

  return <></>;
};

export default LogTest;

API

logger

파라미터

  1. level (선택): 로그 레벨 (예: LOG_LEVEL.ERROR, LOG_LEVEL.WARN 등).
  2. logFunction (선택): 커스텀 로그 출력 함수 (예: console.log, console.error).
  3. logGroup (선택): 로그 그룹을 지정하여 그룹화된 로그를 관리.
  4. payload: 추가로 출력할 데이터.

LOG_LEVEL

사용 가능한 로그 레벨:

  • LOG_LEVEL.FATAL
  • LOG_LEVEL.ERROR
  • LOG_LEVEL.WARN
  • LOG_LEVEL.INFO
  • LOG_LEVEL.DEBUG

LOG_GROUP_KEY

로그를 그룹화하여 필터링할 때 사용하는 키.

라이선스

MIT

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago