2011-12-04 2 views
5

thể trùng lặp:
Include microsecond timestamps in log4j logging?log4j ConversionPattern timestamp với micro

Tôi muốn thêm micro trong dấu thời gian của mỗi mục các tập tin đăng nhập của tôi được tạo ra với log4j, là nó có thể?

Tôi đã tìm kiếm trong tài liệu chính thức nhưng không có đề cập đến đơn vị dưới mili giây.

Bây giờ tôi có một mô hình chuyển đổi như sau:

%d{dd/MM/yyyy HH\:mm\:ss,SSS} %-5p [%t] - %m%n 

trong mô hình ngày chuyển đổi (% d) tôi muốn thêm micro sau mili giây giá trị (SSS), là có cách nào để làm điều đó?

+0

tại sao bạn cần micro dấu thời gian trong thông điệp đăng nhập? – yair

+1

vì tôi có một sợi nhân viên chuyên sâu cao có thể tạo ra hơn 10 mục log mỗi mili giây thôi và tôi muốn biết micro khoảng cách giữa họ ... – aleroot

Trả lời

4

Nếu bạn muốn hiển thị vi giây, bạn cần tự thêm số này. Điều này có thể được thực hiện với một Formatter tùy chỉnh (thay vì PatternFormatter)

+0

tôi sẽ viết PatternFormatter của riêng tôi như bạn đề nghị đó là giải pháp duy nhất, Cảm ơn bạn. – aleroot

+0

Ngoài sự tò mò, bạn sẽ nhận được dấu thời gian vi giây từ đâu? Tôi đã tìm thấy log4j có thể mất một vài, nếu không phải hàng trăm, vi giây, vì vậy nếu tôi quan tâm về micro giây tôi sử dụng logger của riêng tôi là tiểu micro-thứ hai. –

+0

Tôi có một nhân viên xử lý một hàng đợi tin nhắn và tùy thuộc vào tải nó có thể xử lý hơn 10 tin nhắn mỗi mili giây, và tôi đăng nhập mọi thư trong chế độ theo dõi. Theo ý kiến ​​của bạn thì tốt hơn là không dựa vào log4j? Bạn nghĩ gì về logback? Nó có tốt hơn không? Cảm ơn một lần nữa. – aleroot

2

dựa trên SimpleDateFormat và không hỗ trợ định dạng phụ phần nghìn giây, vì vậy không thể báo cáo micro giây.