2009-04-15 16 views
27

Netbeans düşünceli sprinkles Logger.getLogger (this.getClass(). GetName()) log (Düzey. [...] ifadeleri yakalamak blokları. Şimdi istiyorum Hepsini kapa Bu Sayfada Hepsini aç Hepsini kapa Belirtiler Bir dosyaya (ve konsol için) işaret etmek içinjava Logger çıkışı varsayılan olarak dosyaya nasıl alınır

Her günlük öğretici ve sadece ben, bir dosyaya çıkış yapmak için belirli bir günlükleyicinin nasıl alınacağını söylerim, ancak otomatik olarak oluşturulan her sabitlemeden daha iyi bir yol olduğunu varsayalım kök kaydedici veya bir şey çeşit için bir işleyici ayarlama? ifadeyi günlüğü?

+2

IDE, "yiyerek" özel durumları yakalama blokları üretiyor mu? Despicable! Bu çok açıklıyor. – erickson

cevap

39

Sadece başlangıçta aşağıdakileri ekleyin

Handler handler = new FileHandler("test.log", LOG_SIZE, LOG_ROTATION_COUNT); 
Logger.getLogger("").addHandler(handler); 

Sen LOG_SIZE ve LOG_ROTATION_COUNT

Sen uyacak şekilde günlük düzeyini ayarlamak gerekebilir için kendi değerlerini belirtebilirsiniz.

+0

Hepinize teşekkür ederim. Bu benim peşinde olduğum şeye benziyor. – Bloodboiler

+1

Bunu yapmak bana bir "Boşluk dereferride olamaz" verir. – Dan

2

sen log logger yapılandırma dosyasında yazma nerede tanımlamak zorunda. Örneğin, log4j, bir log4j.xml (kullanırsanız veya log4j.properties) dosyası bu bilgileri içerecektir. Örneğin

, burada basit bir log4j.xml bir dosyaya (my-app.log) doğrudan kaydeder dosyası ve konsolda ise:

<?xml version="1.0" encoding="UTF-8"?> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 

    <appender name="rolling" class="org.apache.log4j.DailyRollingFileAppender"> 
     <param name="File" value="my-app.log" /> 
     <param name="DatePattern" value=".yyyy-MM-dd" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" 
       value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [IP=%X{ipAddress}] [user=%X{user}] %m%n" /> 
     </layout> 
    </appender> 

    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" 
       value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [user=%X{user}] %m%n" /> 
     </layout> 
    </appender> 

    <root> 
     <priority value="info" /> 
     <appender-ref ref="console" /> 
     <appender-ref ref="rolling" /> 
    </root> 

</log4j:configuration> 
+4

Ben sanırım bu soruları cevaplayan java.util.logging yerine log4j kullanıyorum –

+2

Log4j kullanmıyor: netbeans java.util.logging için kod üretiyor –

İlgili konular