2011-08-06 22 views
6

Tôi bắt gặp một khung yêu cầu web nhỏ đẹp dành cho Java: Spark. API trông đẹp và đầy hứa hẹn, nhưng gói thư viện chính nó là khá lạ. Để lại một mình thực tế là nó đề xuất sử dụng hiện vật ảnh chụp như phụ thuộc. Để lại một mình thực tế là nó sử dụng log4j để đăng nhập (thư viện có xu hướng sử dụng jcl hoặc slf4j ngày nay), và System.out.println đôi khi. Nhưng nó bó log4j.properties của riêng nó trong spark-xxx.jar. Tôi mất một giờ để điều tra tại sao dự án của tôi lại phàn nàn về cấu hình log4j khi log4j.properties chắc chắn có mặt trong classpath của tôi. -Dlog4j.debug = true đưa ra câu trả lời, log4j thú nhận rằng nó đã nạp log4j.properties từ spark jar.Đóng gói log4j.properties trong thư viện - kiểu xấu hoặc gì?

Tôi tự hỏi nếu điều này (là một thư viện và sử dụng log4j và log4j.properties bundling) có một số động lực, hoặc nếu nó chỉ là lame.

+0

Đây có thể không phải là diễn đàn thích hợp cho câu hỏi này: nếu có động lực, nó được tìm thấy đúng hơn với các tác giả của thư viện. –

Trả lời

5

Phong cách không tốt để gộp log4j.properties bằng thư viện.

Với tia lửa, bạn có thể cho rằng nó gần máy chủ ứng dụng hơn (như tomcat) trong trường hợp này, nó có thể định cấu hình ghi nhật ký.

Tôi sẽ nói thử nghiệm là bất cứ ai điều khiển tập lệnh bắt đầu (.sh | .bat) phải định cấu hình ghi nhật ký và các tệp cấu hình log4j hầu như không bao giờ nằm ​​trong một cái bình.

Các vấn đề liên quan