지금 바로 범용 로거가 필요합니다!
문제
저에게는 모든 프로젝트에 대해 로거를 설정해야 하는 일종의 반복 작업이었습니다. 확실히, 사용 가능한 로깅을 위한 npm 패키지가 많이 있습니다. 그러나 그것은 여전히 나를 만족시키지 못했습니다. 로그를 확인하려면 여전히 각 프로젝트를 방문해야 하기 때문입니다. 그리고 갑자기 이것이 나에게 부담처럼 느껴지기 시작했습니다. 그래서 이에 대한 해결책을 내놓아야 했습니다.
해결책
그래서 해결책은 무엇입니까? 아이디어는 간단했습니다. 중앙 집중식 로거를 만들어 모든 프로젝트에 사용하기만 하면 되었습니다. 그리고 중앙 집중식 시스템이 다른 모든 것을 처리하도록 하십시오. 마찬가지로 각 프로젝트에 대한 로그를 분리합니다. 그래서 저는 로거가 아닌 프로젝트 구축에만 평화롭게 집중할 수 있습니다. 꽤 즐거웠어요. 그래서 제 #devjournal로 그 여정을 공유하려고 합니다.
내 범용 로거는 어떻게 작동합니까?
먼저 요청에 API 키와 로그 메시지가 포함되어 있는 한 모든 로그를 허용하는 backend을 생성했습니다. 아이디어는 모든 프로젝트의 로그를 이 특정 끝점으로 보내는 것입니다. 그런 다음 서로 다른 프로젝트에서 제출된 모든 레코드를 관리하고 처리하기 위한 인터페이스this를 생성했습니다. 이제 다양한 프로젝트의 모든 로그를 한 곳에 보관하고 있으므로 어떤 로그가 어떤 프로젝트에서 오는지 식별할 수 있는지 확인해야 했습니다.
이를 위해 API 키 시스템을 만들었습니다. 따라서 각 프로젝트에 대해 단 한 번의 클릭으로 인터페이스에서 API 키를 생성합니다. 그리고 프로젝트의 로그를 제공하기 위해 프로젝트에 대해 만든 특정 API 키를 사용합니다.
다른 프로젝트에서 로거를 사용하는 방법
전체 프로젝트의 주요 목표는 로그 관리를 단순화하는 것이었기 때문에 모든 프로젝트에서 로거를 사용하는 가장 쉬운 방법을 찾아야 했습니다. 그 특별한 이유로 kLogs이라는 NPM 패키지를 만들었습니다.
따라서 각 프로젝트에 대해 NPM에서 패키지를 설치합니다.
npm install @khokonm/klogs
그리고 로그를 취해야 할 때마다 몇 줄의 코드를 작성합니다.먼저 npm 패키지가 필요합니다.
const kLogs = require("@khokonm/klogs")
그런 다음 모든 로그에 대한 몇 줄의 코드만 있으면 됩니다. 예:const Logs = new kLogs('MY_API_KEY_FOR_THIS_PROJECT');
const log = {
"message": "This is a log message",
"additional_info": {
aJavascriptObject
}
};
Logs.prepare(log);
Logs.send();
메시지는 유일한 필수 매개변수이지만 소스(문자열), 매체(문자열), 추가 정보(객체)와 같은 모든 선택적 매개변수를 전달할 수 있습니다.
결론
당신도 나와 같고 반복적인 작업을 싫어한다면 이 아이디어가 다음 프로젝트에서 로그를 더 잘 정리하는 데 도움이 되기를 바랍니다. 모든 제안이나 개선 아이디어를 높이 평가합니다.
내 로거를 개선하는 데 도움을 주거나 프로젝트에 내 로거를 사용하려는 경우. 천만에요. this repo 에 풀 요청을 할 수 있으며 원본 작업에 기꺼이 병합하겠습니다.
인터페이스를 사용하여 로그를 관리하려면 logs.khokon.dev을 방문하십시오.
Reference
이 문제에 관하여(지금 바로 범용 로거가 필요합니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/khokon/you-need-a-universal-logger-right-now-4jim텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)