2010-11-04 33 views
15

Dường như có một số thảo luận về việc log4net có an toàn thread hay không, sự đồng thuận là khuôn khổ an toàn chỉ, nhưng các ứng dụng không và cần được sử dụng đúng cách để đạt được an toàn luồng. ai đó có thể tỏa sáng một số về điều này và có thể đưa ra ví dụ về cho phép nói RollingFileAppender sử dụng một cách an toàn thread? nó có cần phải được đẩy vào ngữ cảnh không? bằng cách nào đó bị khóa, hoặc cái gì?An toàn của log4net

Trả lời

20

Theo điều này link, RollingFileAppender là chủ đề an toàn (theo như ghi nhật ký). Điều này đến từ một trong những nhà phát triển của log4net. Ông đặc biệt nói rằng khóa như thế này là không yêu cầu trong mã của bạn:

lock(logger) 
{ 
    logger.Info("Hello!"); 
} 
+0

đúng, cũng đọc một số bài viết trên internet, tôi đã tìm thấy bài viết này: http://ondotnet.com/pub/a/dotnet/2003/06/16/log4net.html?page=3 mô tả cách sử dụng nó trong một kịch bản đa luồng. – Alex

+0

Hãy chấp nhận câu trả lời nếu nó hữu ích. – wageoghe

5

Straight từ log4net FAQ:

là log4net thread-an toàn không?

Có, log4net là an toàn chỉ.

Vì vậy, không cần khóa thủ công.

+0

Tuyệt vời! Cảm ơn bạn –