2016-06-28 2 views

Antwort

0

Sie können log_min_messages level in postgres.conf des hawq Stammdatenverzeichnisses einstellen. Protokollebene die folgenden Werte in der Reihenfolge abnehmender Detail sein: # debug5 # debug4 # DEBUG3 # debug2 # debug1 # info # Hinweis # Warnung # Fehler # log # fatal # Panik

0

Es muss Cluster neu gestartet werden, wenn Sie die postgres.conf ändern. Sie können jedoch GUC log_min_messages in der PSQL-Sitzung festlegen, wenn Sie nur die Debug-Informationen in dieser Sitzung protokollieren möchten.

0

Verschiedene Komponenten von Apache Hawq unterstützen unterschiedliche Debugging-Ebene.

Die unterstützten Ebenen sind wie folgt. Einzelheiten hierzu finden Sie unter https://github.com/apache/incubator-hawq/blob/master/src/include/utils/elog.h.

/* Error level codes */ 
Level  Value 
------------------ 
DEBUG5   10 
DEBUG4   11 
DEBUG3   12 
DEBUG2   13 
DEBUG1   14 
LOG    15 
COMMERROR  16 
INFO   17 
NOTICE   18 
WARNING   19 
ERROR   20 
FATAL   21 
PANIC   22 

die DEBUG Nachricht, die Sie wollen, müssen Sie die Komponente, die Sie über in Bezug auf die unterstützte Version von Debug-Pflege überprüfen. Dann, bevor Sie Ihre Abfrage ausführen, verwenden Sie unter Einstellung Debug-Informationen zu erhalten:

  • entweder persistent Niveau der GUC ("hawq Config -c log_min_messages -v DEBUG_LEVEL" und dann "hawq Neustart Cluster -a")
  • oder verwenden Session Level-Debugging („set log_min_messages = DEBUG_LEVEL“)

Wenn Sie finden nicht genug Protokollinformationen auch bei höchsten Level-Debugging-Ebene, können Sie versuchen, es in apache hawq Quellcode einfügen selbst.

0

DEBUG Sie beziehen sich möglicherweise auf zwei Bedeutung, man ist DEBUG Loglevel in Hawq Code, der von ztao1987 beantwortet wird, und der andere ist, wenn Sie mit gdb/lldb debuggen, wo ist die Ausgabe Ihrer Druckfunktion. Die Antwort ist auch im Master/Segment-Protokoll. stdout wurde von HAWQ zur Protokolldatei umgeleitet. Wenn Sie beispielsweise einen Tupletabeschlitz in lldb drucken möchten, geben Sie einfach "expr print_slot (yourslot)" und tail -f your.log ein, die Slot-Info wird auf dem Bildschirm gedruckt .

Verwandte Themen