2017-03-31 48 views
5

Kotlin projemde,kullanıyorum. Kullanmak gerçekten çok hoş bir durumdur, ancak çok merkezi bir noktayı özlüyorum: Kaydedicinin günlük seviyesini nasıl yapılandırabilirim?kotlin-logging logger nasıl yapılandırılır

Varsayılan olarak bilgi olarak ayarlandı ve ben hata ayıklamak istiyorum. Github sayfasında bununla ilgili hiçbir şey olmadığı gibi programatik olarak seviyeyi ayarlamak için herhangi bir yöntem olduğundan kotlin-logging'in etrafındaki sarıcı olduğu için slf4j'ye bir göz attım.

Anlaşılan böyle bir sistem Mülkiyet ayarlamak zorunda:

-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG 

Ancak nasıl KOTLIN bunu yapmanın hiçbir fikrim yok.

Herkes bana yardım edebilir mi?

+0

Ayar seviyesinin ayarlanması, uygulama başına yapılır. Kotlin-logging ve slf4j temeldeki logging lib (log4j etc ') için sadece cephelerdir. Hangisini kullanıyorsun? – oshai

cevap

4

Biz slf4j API gelen günlük düzeyini değiştirmek için bir yol yok ve biz, bunu herkes için isLevelEnabled() olduğunu görebilirsiniz slf4j ait Logger arayüzüne bakarak uygulanması

güvenmek gerekir seviyeleri, ancak bir setter değil. Bu nedenle, seviyenin belirlenmesi uygulamaya özeldir ve kullandığınız temel kayıt platformuna dayanır. Eğer slf4j arkasında katmanı olarak slf4j SimpleLogger kullanmak gibi Sorunuzun itibaren


görünüyor. SimpleLogger için, yalnızca yaptığınız gibi özellikler üzerinden günlük seviyesini değiştirebilirsiniz. Daha fazla bilgi için bkz. this question. logger günlük düzeyi değiştirilemez oluşturulduktan sonra

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

unutmayınız. Günlük seviyesini dinamik olarak değiştirmeniz gerekiyorsa, log4j'yi SLF4J ile kullanmak isteyebilirsiniz.

+0

Çalışma zamanında bunu yapmanın bir yolunu aramayacağım. Buildtime bu proje için yeterince iyi olurdu. –

+0

Merhaba, soruyu tekrar okudum ve şimdi bu soruya gerçekten cevap vermesini umuyorum. –

0

Android'e kotlin-logging kullanarak kullanıyorsanız, kolay cevap: sadece slf4j-handroid kullanın.

O (son zamanlarda kaldırılmış!) slf4j-android basit bir çatal, ama sadece bu yüzden size ayıklama günlükleri görebilir kurulmak üzere, sistem özelliklerini gerektiren gibi keyifli davranışları miras etmeyen.