2016-06-06 11 views

Antwort

1

können Sie den DPDK-Quellcode rte_log.h überprüfen, um die Definition von RTE_LOG zu überprüfen.

Sie könnten

1) define RTE_LOG_LEVEL in Makefile, or 
2) define RTE_LOG_LEVEL in rte_log.h before RTE_LOG, e.g. 
     #define RTE_LOG_LEVEL 8 

dann alle Low Level Debug-Informationen Protokolldatei werden, können Sie auch dieses Makro als Druck neu definieren möchten, wenn Sie zu trösten.

in DPDK, wird das Protokoll auch durch rte_logs.type gesteuert, müssen Sie den Wert überprüfen, wobei jedes Modul ein bisschen ist, sehen Sie bitte rte_log.h RTE_LOGTYPE_XXX.

wenn die oben nicht funktioniert, versuchen Sie die folgenden

#define RTE_LOG_LEVEL 8 
#define RTE_LOG(l, t, ...)     \ 
    (void)((RTE_LOG_ ## l <= RTE_LOG_LEVEL) ?  \ 
    rte_log(RTE_LOG_ ## l,     \ 
     RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__) : \ 
0) 

in eal_common_log.c

int rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap) 
{ 
    ret = printf(format, ap); 
    return ret; 
} 

die ganze DPDK neu kompilieren und prüfen, ob es produziert log. Wenn dies funktioniert, dann überprüfen Sie den Namen der Ausgabedatei und die globale Variable wie oben erwähnt.

+0

Hallo Kevin, ich habe versucht, "Build/include/rte_config.h", sowie Makefile meiner App ($ SDK/examples/kni/Makefile) zu ändern, aber ich finde keine Änderungen in den Ausgabeprotokollen. –

+0

@SakthivelThandabani Ich habe die Antwort geändert, bitte überprüfe, ob das Protokoll funktioniert und stelle es dann ein. –

+0

Standardmäßig ist High Log-Level (8) aktiviert, in Beispiel Apps. Also für die Überprüfung Zweck ich downgrade es auf 1 (gemäß Ihrem Code). aber ich bekomme immer noch alle Protokolle. Ich möchte nur wissen, wo ich für LOG_LEVEL_ERR geändert werden sollte, so dass ich nur Fehlerzustandsprotokolle erhalten kann. Eigentlich vermute ich, dass einige mbuf-Zuweisung beim Ausführen meiner App fehlschlägt, ich möchte nur Protokolle für diese drucken. –