2016-03-29 18 views
0

Sys.err mesajlarını yazdırmak için bir Java Kütüphanesi kullanıyorum. Bu mesajları bir günlük dosyasına (sadece Kütüphaneden gelen mesajlara) yönlendirmek istiyorum.Sys.err Kitaplık için nasıl yeniden yönlendirilir?

Bu mümkün mü?

(kullanılan Kütüphane: libphonenumber google - https://github.com/googlei18n/libphonenumber)

+0

Sen [Sistem :: setErr' '] kullanabilirsiniz (https://docs.oracle.com/javase/8/docs/api /java/lang/System.html#setErr-java.io.PrintStream-) ancak tüm çağrıları 'System.err' yönüne yönlendirecek ... – assylias

+1

Uygun bir kayıt çerçevesi kullanmak bir seçenek değil midir? Farklı sorulan kütüphane Log4J veya benzeri bir şey desteklemiyor? –

+0

@assylias: Özellikle istemediğim şey bu. – Spen

cevap

1

Google'ın libphonenumber standart java.util.logging tabanlı günlüğü kullanır. Java için mevcut popüler kayıt çerçevelerinden biri olan. Günlüğe kaydetme davranışını, özellik dosyası tabanlı bir yapılandırma ile yapılandırabilirsiniz.

handlers=java.util.logging.FileHandler 
com.google.i18n.phonenumbers.level=ALL 
java.util.logging.FileHandler.patter=%h/java%u.log 

Açıkçası, çok var: o zaman böyle günlüğü davranış davranışını yapılandırabilirsiniz logging.properties dosyasında

-Djava.util.logging.config.file="logging.properties" 

: Başvurunuzun Başlangıçta yapılandırma dosyasını belirtir bir parametre belirtebilirsiniz Daha fazla yapılandırma seçeneği, yukarıda verilen örnek, sorunuza göre yalnızca en az olanıdır. Şiddetle Lars Vogel tarafından bu mükemmel intro okuma tavsiye ayrıntılar için

: http://www.vogella.com/tutorials/Logging/article.html

İlgili konular