Ruby on Rails

Monitoring & Logging

Rails.logger, log levels, Sentry, New Relic, ActiveSupport::Notifications, tracing, correlation IDs, observability

20 câu hỏi phỏng vấn·
Senior
1

Logger mặc định được sử dụng trong một ứng dụng Rails là gì?

Câu trả lời

Rails sử dụng Rails.logger làm điểm truy cập chính vào hệ thống logging. Theo mặc định, đây là một instance của ActiveSupport::Logger ghi vào các file như log/development.log, log/production.log, v.v., tùy theo môi trường. Logger này được cấu hình tự động khi ứng dụng khởi động và có thể truy cập từ bất kỳ đâu trong mã Rails.

2

Năm cấp độ log có sẵn trong Rails, từ ít quan trọng nhất đến quan trọng nhất, là gì?

Câu trả lời

Rails sử dụng năm cấp độ log tiêu chuẩn: debug (thông tin chi tiết cho quá trình phát triển), info (thông tin vận hành tổng quát), warn (cảnh báo không chặn), error (lỗi có thể khôi phục) và fatal (lỗi nghiêm trọng gây dừng hệ thống). Mỗi cấp độ lọc bỏ các thông điệp ở cấp thấp hơn, cho phép điều chỉnh mức độ chi tiết theo môi trường.

3

Làm thế nào để cấu hình cấp độ log trong môi trường production của Rails?

Câu trả lời

Cấp độ log trong production được cấu hình trong config/environments/production.rb thông qua config.log_level. Giá trị mặc định là :info để tránh tạo ra quá nhiều dữ liệu trong production. Bạn cũng có thể đặt cấp độ một cách động qua một biến môi trường như ENV.fetch('RAILS_LOG_LEVEL', 'info').to_sym để có sự linh hoạt tối đa mà không cần triển khai lại.

4

Làm thế nào để ghi log một thông điệp với dữ liệu có cấu trúc trong Rails nhằm thuận tiện cho việc phân tích?

5

Sự khác biệt giữa Rails.logger.debug và Rails.logger.debug { } với một block là gì?

+17 câu hỏi phỏng vấn

Nắm vững Ruby on Rails cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí