2010-02-12 183 views
5

Có cách nào để định cấu hình tệp log4j.xml để có nhiều người chia sẻ chia sẻ cùng một bố cục không? Tôi đã sao chép các tham số bố trí vào mỗi appenders nhưng nó là một nỗi đau (và có vẻ lạ mà tôi sẽ cần phải làm điều này) để cập nhật nó ở nhiều nơi nếu mô hình thay đổi.java log4j.xml nhiều ứng dụng chia sẻ bố cục

cảm ơn, Jeff

+0

Bạn có bao nhiêu ứng cử viên? Nếu bạn có quá nhiều nỗi đau để duy trì chúng, bạn có thể sẽ làm những điều sai trái. – skaffman

+0

Ngay bây giờ tôi có 2. Một appender console và file appender. Tôi chỉ thích các thông điệp tường trình trông giống nhau trong cả hai và tôi có cùng một mẫu bố cục cho cả hai. Có vẻ như tôi sẽ có thể củng cố ... –

Trả lời

3

Bạn đã xem là sử dụng log4j.properties thay vì log4j.xml? Phiên bản thuộc tính chấp nhận thay thế biến cho các giá trị.

Bạn có thể tạo thuộc tính của riêng bạn bên trong tệp log4j.properties (someProp=value) và sau đó sử dụng ${someProp} để nhận giá trị. Từ những gì tôi nhớ (không chắc chắn: D) bạn cũng có thể có điều này trong tệp log4j.xml nhưng các biến phải được định nghĩa là biến hệ thống (-DsomeProp=value) và trong log4j.xml bạn lại sử dụng ${someProp}. Quay lại đầu trang | Phiên bản này mặc dù là một chút lộn xộn bởi vì bạn không có các thông số được khai báo trong cùng một vị trí bạn đang sử dụng chúng, như bạn làm trong log4j.properties.

+0

Tôi sẽ cung cấp cho nó một shot với log4j.properties. Tôi nghĩ rằng bạn đang đúng rằng nó không hỗ trợ các thuộc tính nhưng đối với một số lý do tôi thích định dạng xml tốt hơn. Cảm ơn. –

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