2012-11-12 33 views
5

Tôi đã có một phương pháp trong một lớp học rất tiết, và điều này làm cho các bản ghi khó đọc. Tôi muốn giảm mức độ đăng nhập của nó bằng cách thay đổi mức của một phương thức đó, để lại các phương thức khác trong cùng một lớp không thay đổi gì. Điều này có thể không?Tôi có thể đặt mức ghi nhật ký trong một phương thức Java bằng cách sử dụng log4j không?

+0

Bạn có thể khai báo cấp độ Ghi nhật ký của riêng bạn và sử dụng nó trong phương thức đó. Một cách khác là một chút hacky và bao gồm trong việc nâng cấp Log level trong phương thức (thông qua Logger.setLevel()), nhưng nó thực sự thông minh – BigMike

Trả lời

6

Bạn có thể thay đổi cấu hình mức cho lớp đó nhưng không thay đổi các phương thức cụ thể trong lớp học. Cách duy nhất để làm những gì bạn muốn là sử dụng một trình ghi nhật ký khác bên trong phương thức đó và sau đó cấu hình nó ở một mức khác.

Hy vọng điều này sẽ hữu ích.

0

Tôi không nghĩ rằng đó là posible trực tiếp để thay đổi phương thức khai thác gỗ cho chỉ một phương pháp

3

Bạn không thể thay đổi mức độ khai thác gỗ trên một cơ sở cho mỗi phương pháp. "Logger" là mức chi tiết tốt nhất để kiểm soát. Thông thường, có một mối quan hệ một-một giữa các cá thể logger và các lớp ... mặc dù điều đó phụ thuộc vào cách ứng dụng được mã hóa.

Nếu bạn có thể thay đổi mã, tôi khuyên bạn nên tạo đối tượng nhật ký đặc biệt cho phương thức ồn để bạn có thể kiểm soát nó độc lập với mã khác sử dụng trình ghi nhật ký hiện có. (Hoặc có thể chỉ cần thay đổi các cuộc gọi nhật ký của phương thức.)

Nếu bạn không thể thay đổi mã, bạn có thể phải sử dụng "hack" như sau xử lý tệp nhật ký hoặc viết và định cấu hình tùy chỉnh Appender. thông điệp tường trình không mong muốn.

-1

Có thể. Xem nhận xét của tôi về OP.

Bí quyết là tạo Cấp tùy chỉnh (ít hơn TRACE) (như được giải thích trong here) và sử dụng cấp nhật ký đó theo các phương thức rất tiết.

Trong đó, bạn sẽ không sử dụng phím tắt Logger để ghi nhật ký, nhưng bạn nên sử dụng phương thức Logger.log (Cấp độ, Đối tượng) và Logger.log (Cấp độ, Đối tượng, Thowable).

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