Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

차세대 로그 라이브러리 Pino 성능 개선 #250

Open
ljlm0402 opened this issue Oct 29, 2024 · 0 comments
Open

차세대 로그 라이브러리 Pino 성능 개선 #250

ljlm0402 opened this issue Oct 29, 2024 · 0 comments
Assignees
Labels
Develop 👉 Develop ⚡ Feature Suggest an idea for this project

Comments

@ljlm0402
Copy link
Owner

Motivation (새로운 기능 설명)

차세대 로그 라이브러리 Pino 성능 개선

Proposed Solution (기능을 통해 얻고자 하는 솔루션)

Winston

  • 유연성: Winston은 매우 유연한 구조를 가지고 있어 다양한 전송(transport) 옵션을 지원합니다. 로그를 파일, 콘솔, HTTP 등 여러 장소에 동시에 보낼 수 있습니다.
  • 레벨 기반 로깅: 다양한 로그 레벨(info, warn, error 등)을 지원하며, 각 레벨에 대해 다른 전송 옵션을 설정할 수 있습니다.
  • 포맷팅: 로그 메시지를 쉽게 포맷할 수 있는 기능이 있어, JSON, 문자열 등 원하는 형식으로 로그를 출력할 수 있습니다.
  • 추가 기능: 다양한 플러그인을 통해 기능을 확장할 수 있습니다.
  • 커뮤니티: 오랜 역사와 많은 사용자가 있어, 다양한 자료와 커뮤니티 지원이 존재합니다.

Pino

  • 성능: Pino는 매우 빠른 로그 라이브러리로 설계되어, 높은 성능을 요구하는 애플리케이션에 적합합니다. JSON 형식으로 로그를 기록하므로, 구조화된 로그를 쉽게 처리할 수 있습니다.
  • 간결함: API가 간단하고 사용하기 쉬워, 기본적인 로깅 요구를 충족하는 데 적합합니다.
  • 비동기 로그 기록: 비동기 방식으로 로그를 기록하므로, 애플리케이션의 성능에 미치는 영향을 최소화합니다.
  • 로깅 직렬화: 로그 객체를 자동으로 직렬화하여 JSON 형식으로 출력할 수 있어, 구조화된 로그를 쉽게 관리할 수 있습니다.
  • 기본적인 옵션: 추가적인 전송 기능이나 포맷팅 기능이 적어, 더 복잡한 요구 사항이 있는 경우에는 사용자 정의가 필요할 수 있습니다.

Alternatives (제안 된 솔루션이 더 나은 이유)

결론

  • Winston: 다양한 기능과 유연성을 제공하며, 로그를 여러 장소에 전송하고 포맷을 커스터마이징해야 할 경우 적합합니다.
  • Pino: 성능이 중요한 애플리케이션에서 빠른 로깅을 원할 경우 선택하는 것이 좋습니다. JSON 기반의 구조화된 로그가 필요한 경우에도 유리합니다.

Additional Context (추가 사항)

https://github.com/pinojs/pino
https://getpino.io/#/

@ljlm0402 ljlm0402 added ⚡ Feature Suggest an idea for this project Develop 👉 Develop labels Oct 29, 2024
@ljlm0402 ljlm0402 self-assigned this Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Develop 👉 Develop ⚡ Feature Suggest an idea for this project
Projects
None yet
Development

No branches or pull requests

1 participant