2009-11-03 24 views
13

Tôi có một hội nhập khai thác thử nghiệm tự động và muốn đơn giản hóa khai thác gỗ (được triển khai sử dụng log4j)lập trình tạo ra các file bản ghi khác nhau sử dụng log4j

Tôi có một số xét nghiệm cao cấp, đều có một id và yêu cầu riêng biệt tệp nhật ký cho mỗi thử nghiệm. Khi các thử nghiệm được tạo ngẫu nhiên, các id không được biết cho đến khi chạy.

Vì vậy, tôi muốn đảm bảo rằng việc ghi nhật ký bên trong mỗi bài kiểm tra cấp cao được ghi ra tệp nhật ký cho bài kiểm tra đó.

Tôi không muốn tạo mức nhật ký tùy chỉnh, tôi cũng không muốn ghi nhật ký được gửi cho tất cả người đăng ký.

Có ai biết cách thực hiện việc này không?

Trả lời

23

Bạn có thể dễ dàng gọi API của log4j theo lập trình, ví dụ:

FileAppender appender = new FileAppender(); 
// configure the appender here, with file location, etc 
appender.activateOptions(); 

Logger logger = getRootLogger(); 
logger.addAppender(appender); 

logger có thể là trình ghi nhật ký gốc như trong ví dụ này hoặc bất kỳ nhật ký nào trên cây. Kiểm tra đơn vị của bạn có thể thêm appender tùy chỉnh của nó trong quá trình pushup, và loại bỏ appender (sử dụng removeAppender()) trong khi teardown.

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