2016-05-24 14 views
5

Ich habe ein seltsames Verhalten von Logback, das Problem ist, dass log.debug() Anruf zu arbeiten und nicht auf Konsole zu schreiben.Logback log.debug funktioniert nicht

Hier ist, wie ich Logger erstellen und rufen Funktionen protokollieren:

public class MyApp extends Application { 
    private static Logger log = LoggerFactory.getLogger(MyApp.class); 

     @Override 
     public void onCreate() { 
     log.info("log.isDebugEnabled() {}", log.isDebugEnabled()); 
     log.error("error test"); 
     log.debug("HELLO {}", "WORLD"); 
     log.debug("debug test"); 
     .............. 
     /*some code here*/ 
     .............. 
     super.onCreate(); 
     } 
    .............. 
    } 

Und hier ist das, was ich in Android-Monitor sehen: android monitor output

Wie Sie gibt es keine Debug-Linien sehen können, nur Fehler und Infos.

Hier ist meine logback.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <property name="EXT_FILES_DIR" value="/mnt/sdcard/Android/data/my_dir/files/logs" /> 
    <timestamp key="bySecond" datePattern="dd.MM.yy'__'HH.mm.ss"/> 

    <appender name="logcat" class="ch.qos.logback.classic.android.LogcatAppender"> 
     <encoder> 
      <pattern>%d{HH:mm:ss} :: %-5level :: THREAD [%thread] IN CLASS %logger{5} ON LINE %line - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <appender name="FILE" 
       class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${EXT_FILES_DIR}/my_log-${bySecond}.log</file> 
     <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
      <Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} :: %-5level :: THREAD [%thread] IN CLASS %logger{5} ON LINE %line - %msg%n</Pattern> 
     </encoder> 

     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
      <FileNamePattern>${EXT_FILES_DIR}/my_log-${bySecond}.%i.log.txt</FileNamePattern> 
      <MinIndex>1</MinIndex> 
      <MaxIndex>10</MaxIndex> 
     </rollingPolicy> 

     <triggeringPolicy 
      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
      <MaxFileSize>2MB</MaxFileSize> 
     </triggeringPolicy> 
    </appender> 

    <root level="DEBUG"> 
     <appender-ref ref="logcat" /> 
     <appender-ref ref="FILE"/> 
    </root> 
</configuration> 

Jeder Vorschlag? Grüße.

+0

Haben Sie sichergestellt, dass Debug-Protokolle nicht von Proguard entfernt werden? – JoxTraex

+0

@JoxTraex Wie kann ich das sicherstellen? – whizzzkey

+0

Überprüfen Sie hier @ https://developer.android.com/studio/build/shrink-code.html – JoxTraex

Antwort

4

Das Problem war in meinem Gerät Hyawei Ehre 4x - der Hersteller deaktiviert meldet Debug-Ebene. Die Lösung ist:

  1. Dial

    *#*#2846579#*#* 
    
  2. Klicken Sie auf ProjectMenu

  3. Klicken Sie auf Hintergrundeinstellung
  4. Klicken Sie auf Log Einstellung
  5. Select LOG CP und bestätigen
  6. Reboot der Telefon.