Sebastien Rousseau

RUSTLOGS

RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust

Ghi nhật ký có cấu trúc, hiệu năng cao cho các hệ thống tài chính

8 min read
Banner for: RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust

Hệ thống ghi nhật ký.class="img-fluid clearfix"

TL;DR. rustlogs là thư viện ghi nhật ký Rust được thiết kế cho các ứng dụng cấp doanh nghiệp: ghi nhật ký có cấu trúc, nhiều mức độ ưu tiên, hỗ trợ nhiều kênh và an toàn thread.

Điểm chính

  • Ý tưởng. Ghi nhật ký có cấu trúc theo mặc định để dễ dàng truy vấn trong ELK, Splunk hoặc Datadog.
  • Đổi mới. Định dạng đầu ra linh hoạt (JSON, văn bản, CEF, GELF).
  • Trường hợp sử dụng. Các dịch vụ tài chính, hệ thống thanh toán, microservices.
  • Hiệu năng. Bộ đệm và ghi không đồng bộ để giảm thiểu chi phí.

Vấn đề

Vì sao ghi nhật ký có cấu trúc

Ghi nhật ký dạng văn bản truyền thống khó tìm kiếm. Một dòng như [ERROR] failed to charge user 12345 amount 99.99 đòi hỏi biểu thức chính quy để truy vấn. Ghi nhật ký có cấu trúc xuất ra JSON:

{
  "level": "error",
  "event": "charge_failed",
  "user_id": 12345,
  "amount": 99.99,
  "currency": "USD",
  "timestamp": "2024-03-08T10:30:00Z"
}

Dữ liệu này có thể được lập chỉ mục, truy vấn và biểu đồ hoá.

API

use rustlogs::{Logger, Level};

let logger = Logger::new()
    .with_format(Format::Json)
    .with_output(Output::Stdout);

logger.info("user_login", json!({
    "user_id": 12345,
    "ip": "192.168.1.1",
}));

logger.error("charge_failed", json!({
    "user_id": 12345,
    "amount": 99.99,
    "error": "insufficient_funds",
}));

Tính năng

Tích hợp với hệ sinh thái

Tương thích với tracing

rustlogs tích hợp với hệ sinh thái tracing được sử dụng rộng rãi của Rust, cho phép tích hợp dễ dàng với các công cụ quan sát hiện có (Jaeger, OpenTelemetry).

Trường hợp sử dụng ngân hàng

Cài đặt

[dependencies]
rustlogs = "0.0.1"

Mã nguồn trên GitHub ⧉ theo Apache-2.0.

Kết luận

rustlogs là một thư viện ghi nhật ký tập trung vào việc giải quyết các nhu cầu của các hệ thống tài chính: cấu trúc, hiệu năng, đa kênh. Bằng cách xây dựng quan sát từ đầu, nó tiết kiệm hàng giờ điều tra khi có sự cố.

Cập nhật lần cuối .

Đăng lại bài viết này

Sao chép định dạng cho Medium

# RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau

> Originally published at [https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/](https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/)

RustLogs — thư viện ghi nhật ký Rust cho ứng dụng cấp doanh nghiệp với ghi nhật ký có cấu trúc, đa kênh và an toàn về thread.

Read the full article on sebastienrousseau.com: https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/

Sao chép định dạng cho Mastodon

RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau

RustLogs — thư viện ghi nhật ký Rust cho ứng dụng cấp doanh nghiệp với ghi nhật ký có cấu trúc, đa kênh và an toàn về thread.

https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/
Trích dẫn bài này

RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau

RustLogs — thư viện ghi nhật ký Rust cho ứng dụng cấp doanh nghiệp với ghi nhật ký có cấu trúc, đa kênh và an toàn về thread.

BibTeX

@online{rousseau2024rustlogs,
  author  = {Rousseau, Sebastien},
  title   = {{RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau}},
  year    = {2024},
  url     = {https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/},
  urldate = {2024}
}

RIS

TY  - GEN
AU  - Rousseau, Sebastien
TI  - RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau
PY  - 2024
UR  - https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/
ER  -

Vancouver

Rousseau S. RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau. sebastienrousseau.com. 2024 Mar 8. Available from: https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/

Chicago

Rousseau, Sebastien. "RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau." sebastienrousseau.com. March 8, 2024. https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/.

APA

Rousseau, S. (2024, March 8). RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau. sebastienrousseau.com. https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/

Đăng lại bài này

RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau

RustLogs — thư viện ghi nhật ký Rust cho ứng dụng cấp doanh nghiệp với ghi nhật ký có cấu trúc, đa kênh và an toàn về thread.

Bài viết này được cấp phép theo Creative Commons Attribution 4.0 International. Đăng lại yêu cầu ghi nguồn đến URL chính tắc.

RustLogs: thư viện ghi nhật ký nâng cao cho ứng dụng Rust — Sebastien Rousseau

RustLogs — thư viện ghi nhật ký Rust cho ứng dụng cấp doanh nghiệp với ghi nhật ký có cấu trúc, đa kênh và an toàn về thread.

Originally published at https://sebastienrousseau.com/vi/2024-03-08-rustlogs-thu-vien-ghi-nhat-ky-nang-cao-cho-rust/ by Sebastien Rousseau.
Licensed under CC-BY-4.0.