log4js-node / log4js-node/log4js-node

any MDC so we do not have to pass a logger around?

Đang mở
#1,431 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
JavaScript
Star
5.8k
Fork
752
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Is there any request context? In java, it was ThreadLocal until async programming...then Twitter invented Context.scala and Promise.scala so MDC in logback could be swapped.

Best with example.

Filter has MDC.put("requestId", generateUniqueReqId());

in the plain old typescript code without passing loggers around all the place(bad smell if we have to pass our logger all around) ->

class SomeBizClass {
    private _logger = createLogger();
    public someMethod(request: FetchPhotosRequest): FetchPhotosResponse {
            _logger.info("My log here"");
           return ...
    }
}

In this case, the output is msg="My log here" requestId="xxxsomeReqIdxxx"

Is this possible? This was an amazing thing about logback and log4j so in GCP, AWS, you simply filtered on requestId and developers never had to remember to

  1. pass a logger around
  2. type in requestId in every single log statement(nor pass requestId around).

It made things 1. extremely efficient and 2. error-prone. (no one every made any errors forgetting to pass a logger or requestID to log it).

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Issue không nêu tên điểm bắt đầu của tệp, bài kiểm thử hoặc phần triển khai nào. Hãy bắt đầu bằng cách xác định các đường dẫn tạo logger và xử lý request, sau đó xem xét cách biểu diễn ngữ cảnh request bất đồng bộ mà không truyền logger hoặc request IDs; được xem là hoàn tất khi có quyết định về tính khả thi được ghi lại và một ví dụ hoạt động nếu dự án hỗ trợ điều đó.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, typescript
Lĩnh vực
observability
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.