Tôi có một ứng dụng (ứng dụng máy chủ) cần một số lượng lớn nhật ký được triển khai và không nên quá ảnh hưởng đến hiệu suất bằng cách bật ghi nhật ký.ghi nhật ký đa luồng cho ứng dụng hiệu suất cao
Ứng dụng có một chuỗi chủ đề của chuỗi công việc thực hiện công việc. Ban đầu tôi sẽ chỉ đăng nhập vào các chủ đề hồ bơi thread, nhưng sau đó tôi cần phải khóa thực tế toàn bộ chủ đề và do đó, có ứng dụng 'đa luồng' của tôi.
Tôi đã xem xét các cách tốt hơn để đăng nhập từ nhiều luồng và tôi đã tìm thấy bằng cách sử dụng hàng đợi hoặc bộ đệm vòng có thể là một ý tưởng.
Ai có thể đề xuất (có lẽ từ kinh nghiệm) bất kỳ cách nào tốt để thực hiện ghi nhật ký hiệu quả (vào một tệp chủ yếu) cho một ứng dụng đa luồng cũng nên duy trì một chút?
Tôi muốn sử dụng Thư viện ghi nhật ký tăng cường.
Có thể đáng để chỉ ra điều hiển nhiên: ngay khi bạn bắt đầu ghi nhật ký không đồng bộ, bạn cũng có nguy cơ mất một số mục nhập nhật ký cuối cùng nếu ứng dụng của bạn gặp sự cố. Kể từ khi ứng dụng chỉ ngay lập tức tiếp tục sau khi * bắt đầu * đăng nhập, bạn không có đảm bảo rằng tất cả các thông điệp tường trình đã thực sự được ghi ra đĩa vào bất kỳ thời điểm nào. – jalf
@jalf: bạn đề nghị tôi làm gì sau đó? –
Không có đầu mối. Phụ thuộc vào nhu cầu của bạn. Một cơ chế ghi nhật ký không đồng bộ có thể vẫn là cách tốt nhất để đi trong trường hợp của bạn, tôi chỉ đang chỉ ra một cảnh báo quan trọng mà bạn phải biết. Tất nhiên, một phương án thay thế có thể là ghi dữ liệu nhật ký vào một phương tiện nhanh hơn ổ cứng (ổ SSD? Kết nối mạng nhanh?), Do đó, nó không chặn ứng dụng máy chủ cho mili giây quý giá như viết ổ cứng. – jalf