2009-08-04 30 views

Trả lời

1

Bạn đang nói về JULog?

Nếu có, câu trả lời là "bạn không thể". Để thay đổi tệp bạn đang ghi (hoặc thay đổi bất kỳ thứ gì khác trong cấu hình), bạn cần phải biết bạn đang sử dụng triển khai ghi nhật ký cơ bản nào và toàn bộ điểm sử dụng JULog (khá đáng tranh cãi, btw, trừ khi bạn đang phát triển một thư viện)) không có các mối quan hệ ANY để triển khai ghi nhật ký.

Nếu chọn tệp trong thời gian chạy là yêu cầu, bạn có thể sẽ tốt hơn khi thực hiện triển khai cụ thể như Log4j.

+0

(nb: câu trả lời này là cho câu hỏi gốc chưa được chỉnh sửa "Cài đặt ghi nhật ký"/"Tôi đang sử dụng ghi nhật ký JUL .. . ") Thay vì Log4j, điều này có thể đạt được bằng cách sử dụng Logback (sử dụng slf4j để chuyển hướng tất cả đăng nhập để logback); xem http://stackoverflow.com/questions/3803184/setting-logback-appender-path-programmatically (nhưng vẫn còn, đó là một ý tưởng tồi; có nhiều ứng dụng/chính sách logback khác nhau kiểm soát tệp đầu ra, cho phép cấu hình nhật ký ở lại trong cấu hình xml, nơi nó thuộc về) – michael

8

java.util.logging.FileHandler có thể thực hiện công việc của mình cho bạn. Đoạn mã sau đây cho thấy một ví dụ đơn giản về cách thiết lập đích ghi nhật ký theo chương trình:

Logger logger = Logger.getLogger("my.logger.name"); 
    try { 
     FileHandler handler = new FileHandler("application.log", true); 
     logger.addHandler(handler); 
    } catch (IOException e) { 
     throw new IllegalStateException("Could not add file handler.", e); 
    } 
    logger.info("Hello Logger!"); 
Các vấn đề liên quan