이 튜토리얼은 Vultr Compute 서버에서 호스팅하는 동안 응용 프로그램의 모니터링 및 디버깅 기능을 향상시키기 위해 강력한 Node.js 로깅 라이브러리 인 Winston을 활용하는 방법을 보여줍니다. 필수 로깅 모범 사례를 다루고 다양한 로그 레벨을 처리하도록 Winston을 구성 할 것입니다.
이 기사는 전 세계 150 만 명 이상의 고객에게 확장 가능한 솔루션을 제공하는 최고의 글로벌 클라우드 컴퓨팅 플랫폼 인 Vultr이 후원하는 이 기사가 후원합니다. Vultr의 클라우드 컴퓨팅, 클라우드 GPU, 베어 메탈 및 클라우드 스토리지 옵션을 탐색하십시오.
로깅의 중요성
효과적인 로깅은 응용 프로그램 개발에 가장 중요합니다. 그 혜택은 다음과 같습니다.
디버깅 :
효율적인 문제 해결을위한 오류 및 예외
모니터링 : 사전 최적화를위한 애플리케이션 성능, 리소스 활용 및 사용자 상호 작용에 대한 통찰력을 얻으십시오.
감사 : 보안 분석, 변경 변경 및 규제 준수를위한 시스템 이벤트에 대한 포괄적 인 기록을 유지합니다.
최상의 로깅 관행
성공적인 로깅에는 신중한 계획이 필요합니다. 주요 원칙에는 다음이 포함됩니다
적절한 로그 레벨 : 뚜렷한 로그 레벨 (오류, 경고, 정보, 디버그, 장황, 바보)를 사용하여 중증으로 메시지를 분류합니다.
일관된 형식 :
타임 스탬프, 레벨 및 상황 정보를 포함하여 표준화 된 로그 메시지 구조를 유지합니다.
구조화 된 데이터 : 모니터링 도구와의 통합을 쉽게하기 위해 JSON과 같은 구조화 된 형식을 사용합니다.
효율적인 로깅 : 성능 오버 헤드와 로그 클러 터를 방지하기 위해 과도한 로깅을 피하십시오.
Data Security : 민감한 데이터 (암호, 토큰 등)를 신중하게 처리하여 사용자 개인 정보를 보호하십시오.
-
<:> winston : 설정 및 로그 레벨
Winston은 다음과 같은 로그 레벨을 지원합니다. 오류, 경고, 정보, 디버그, Verbose, Silly. 각 레벨은 다른 심각도를 나타냅니다.
node.js 프로젝트에서 Winston을 설정
다음 단계를 따라 Winston을 Node.js에 통합하여 Vultr Compute 인스턴스에 배포 된 응용 프로그램 :
-
vultr에 배포 : vultr compute 인스턴스를 제공하고 node.js.
SSH 액세스 : SSH를 통해 서버에 안전하게 연결하십시오
-
시스템 업데이트 :
서버 패키지 업데이트.
프로젝트 설정 :
새 프로젝트 디렉토리를 만들고,이를 탐색하고, : 를 초기화하십시오.
-
의존성 설치 : winston 및 Express : 를 설치하십시오
mkdir my-winston-project
cd my-winston-project
npm init -y
로그인 후 복사
-
<🎜 🎜> <<> 생성
: 다음 코드를 사용하여 app.js
를 작성하고 편집하십시오.
app.js
<🎜 🎜> <<> 작성 npm install winston express
로그인 후 복사
: 생성 및 편집 - : <🎜 🎜>
logger.js
<🎜 🎜> <<> 방화벽 구성 : 포트 3000에서 들어오는 연결 허용 (<🎜 🎜>).
logger.js
<🎜 🎜> <<> 응용 프로그램을 실행하십시오 : <🎜 const express = require("express");
const logger = require("./logger"); // Import the logger
const app = express();
app.get("/", (req, res) => {
logger.debug("Hello, world");
logger.info("This is the home route.");
res.send("Logging Hello World..");
});
app.get("/event", (req, res) => {
try {
throw new Error("Not User!");
} catch (error) {
logger.error("Events Error: Unauthenticated", { error }); // Log error with details
}
});
app.listen(3000, () => {
logger.info("Server Listening On Port 3000");
});
로그인 후 복사
. 를 사용하여 응용 프로그램을 시작하십시오
-
vultr 배포 확장
이러한 고급 vultr 기능을 탐색하십시오 :
컨테이너화 node.js 응용 프로그램
CI/CD 파이프 라인 구현
Nginx ufw
로 여러 node.js 응용 프로그램 관리
MERN 애플리케이션 배포
결론
효과적인 로깅은 응용 프로그램 건강 및 유지 관리에 중요합니다. Winston은 프로세스를 단순화하여 로그 메시지 관리를위한 유연하고 강력한 솔루션을 제공합니다. Winston을 Vultr의 확장 성과 결합하면 강력하고 쉽게 모니터링되는 응용 프로그램을 구축 할 수 있습니다.
위 내용은 쉽게 로깅 : Node.js의 Winston에 대한 초보자 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!