2016-05-24 24 views
5

Mam dziwne zachowanie od logowania, problem polega na tym, że wywołanie log.debug() przestaje działać i nie zapisuje na konsoli.Logback log.debug nie działa

Oto jak tworzę Logger i wywoływanie funkcji log:

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(); 
     } 
    .............. 
    } 

A oto co widzę w Android Monitor: android monitor output

Jak widać nie ma linii debugowania, tylko błąd i informacje.

Oto moja 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> 

Wszelkie sugestie? Pozdrowienia.

+0

Czy upewniłeś się, że dzienniki debugowania nie zostaną usunięte przez program proguard? – JoxTraex

+0

@JoxTraex jak mogę się upewnić? – whizzzkey

+0

Sprawdź tutaj @ https://developer.android.com/studio/build/shrink-code.html – JoxTraex

Odpowiedz

4

Problem był w moim urządzeniu Hyawei Honor 4x - producent wyłączył logi na poziomie debugowania. Rozwiązaniem jest:

  1. Dial

    *#*#2846579#*#* 
    
  2. Kliknij ProjectMenu

  3. Kliknij na tle Ustawianie
  4. Click on rejestrować
  5. Wybierz CP dziennika i potwierdzić
  6. zrestartować telefon.