2017-03-31 22 views
5

Vì mục đích ghi trong dự án Kotlin của tôi, tôi đang sử dụng kotlin-logging thực sự tốt để sử dụng tuy nhiên tôi thiếu một điểm rất trung tâm: Làm cách nào để cấu hình mức nhật ký của trình ghi nhật ký?cách cấu hình logger kotlin-log

Theo mặc định, nó được đặt thành thông tin và tôi muốn đặt nó thành gỡ lỗi. Như không có gì về điều đó trên trang Github cũng không có phương pháp nào để thiết lập mức độ lập trình, tôi đã có một cái nhìn vào slf4j như kotlin-logging là một wrapper xung quanh đó.

Rõ ràng tôi phải thiết lập một tài sản Hệ thống như thế này:

-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG 

Tuy nhiên tôi không có ý tưởng làm thế nào để làm điều này trong Kotlin.

Bất cứ ai cũng có thể giúp tôi?

+0

Đặt mức nhật ký được thực hiện cho mỗi lần triển khai. Kotlin-logging và slf4j chỉ là mặt tiền cho lib đăng nhập cơ bản (log4j etc '). Bạn sử dụng cái nào? – oshai

Trả lời

4

Chúng tôi không có một cách để thay đổi mức độ log từ slf4j api và chúng ta cần phải dựa vào thực hiện

Bằng cách nhìn vào giao diện Logger của slf4j, bạn có thể thấy rằng nó có isLevelEnabled() cho tất cả các cấp độ, nhưng không phải là một setter. Vì vậy, thiết lập mức độ là thực hiện cụ thể và nó được dựa trên nền tảng khai thác cơ bản mà bạn sử dụng.


Từ câu hỏi của bạn có vẻ như bạn sử dụng slf4j SimpleLogger như lớp đằng sau slf4j. Đối với SimpleLogger, bạn chỉ có thể thay đổi cấp độ nhật ký thông qua các thuộc tính như bạn đã thực hiện. Xem this question để biết thêm thông tin.

System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE"); 

Xin lưu ý rằng khi không thể thay đổi nhật ký được tạo cấp nhật ký. Nếu bạn cần thay đổi mức ghi nhật ký động, bạn có thể muốn sử dụng log4j với SLF4J.

+0

Tôi không nhất thiết phải tìm cách để thực hiện việc này khi chạy. Thời gian xây dựng sẽ đủ tốt cho dự án này. –

+0

Xin chào, tôi đã đọc lại câu hỏi và bây giờ tôi hy vọng nó thực sự trả lời câu hỏi. –

0

Nếu bạn đang sử dụng kotlin-logging trên Android, câu trả lời dễ dàng là: chỉ cần sử dụng slf4j-handroid.

Đó là một ngã ba đơn giản của (gần đây phản đối!) slf4j-android, nhưng mà không kế thừa thú hành vi như yêu cầu thuộc tính hệ thống được thiết lập chỉ để bạn có thể thấy các bản ghi gỡ lỗi của bạn.

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