2013-04-04 48 views
10

Tôi đang sử dụng ghi nhật ký JDK làm khung ghi nhật ký và SLF4J làm mặt tiền đơn giản. Tôi có một số truy vấn khi tôi ghi nhật ký cấp độ khác nhau.Mức ghi nhật ký khác nhau giữa ghi nhật ký SFL4J và JDK

SLF4J có sau mức log

dấu vết (hoặc ít nghiêm trọng)
debug
thông tin
cảnh báo
lỗi
gây tử vong (nghiêm trọng nhất)

JDK khai thác gỗ có các mức nhật ký sau

NGHIÊM TRỌNG (giá trị cao nhất)
CẢNH BÁO
INFO
CONFIG
FINE
mịn
FINEST (giá trị thấp nhất)

Nếu tôi muốn thiết lập mức độ đăng nhập để DEBUG thì mức độ đó không phải là có sẵn trong ghi nhật ký JDK. Ai cũng có thể giải thích làm thế nào chúng ta có thể nhận được mức độ đăng nhập DEBUG trong tình huống này. Chúng ta có cần thực hiện thêm bất kỳ cấu hình nào cho tình huống này không?

Cập nhật

đây là cấu hình tập tin bất động sản của tôi

xử lý = com.amc.logging.handlers.DebugLogHandler

com.amc.logging.handlers.DebugLogHandler.pattern = c: /logs/debug_log.log com.amc.logging.handlers.DebugLogHandler.level = FINE com.amc.logging.handlers.DebugLogHandler.formatter = java.util.logging.SimpleFormatter com.amc.logging.handlers.DebugLogHandler .append = t rue

Vui lòng cho tôi biết nơi tôi đã đi sai.

+0

Duplicate? http://stackoverflow.com/questions/4278438/slf4j-logging-with-jdk-how-to-enable-debug – hd1

+0

Tôi đã thay đổi cấp độ nhật ký thành FINE đã được chỉ định trong liên kết ở trên nhưng tôi vẫn không nhận được DEBUG ghi nhật ký mức. –

+0

Giải pháp mà bạn đã cung cấp không giúp tôi giải quyết vấn đề của mình. Tôi đã cập nhật bài đăng của mình bằng cấu hình tệp thuộc tính của tôi. –

Trả lời

7

Tôi đã giải quyết vấn đề này với sự trợ giúp của bài đăng dưới đây.

slf4j logging with jdk – how to enable debug?

Đối với DEBUG mức ghi trong SLF4J chúng ta phải vạch mức FINE trong java.util.logging.

Và chúng tôi phải đặt mức ghi mặc định là FINE hoặc mức FINE thấp hơn. Điều này có thể đạt được bằng cách đặt dòng dưới đây vào tệp cấu hình ghi nhật ký.

.level = FINE

0

Một vấn đề nữa bạn có là mặc dù bạn đã xác định một handler, bạn chưa chỉ định nó để bất kỳ người khai thác gỗ.

Để gán nó vào logger gốc, sử dụng

.handlers=com.amc.logging.handlers.DebugLogHandler 

Để gán nó vào một logger trong ứng dụng của bạn, xác định các logger

com.company.application.package.level=FINE 

Và gán xử lý của bạn với nó: com.company.application.package.handlers=com.amc.logging.handlers.DebugLogHandler

Ngoài ra, là com.amc.logging.handlers.DebugLogHandler một lớp học mà bạn tự xác định? Là nó trong classpath của bạn? Bởi vì nếu không tôi không nghĩ rằng java.util.logging (JUL) sẽ nhận ra nó.

Hãy thử một trong những bộ xử lý mà đi kèm với tháng bảy:

handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler 

Và cấu hình chúng với mức độ, vị trí và định dạng mà bạn muốn đăng nhập.

Dưới đây là một ví dụ tập tin logging.properties: https://tomcat.apache.org/tomcat-6.0-doc/logging.html#Using_java.util.logging_(default)

Nó sử dụng bộ xử lý từ thực hiện juli apache, nhưng chỉ cần thay thế với các lớp học từ tháng bảy: https://docs.oracle.com/javase/7/docs/api/java/util/logging/package-summary.html

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