通過Storm UI 和 Storm CLI可以動態調整運行中的topology的日志級別。這里日志級別的設置和log4j是一樣的,如果你設置了父logger的日志級別,對子logger也會生效(除非子logger已經有了一個更具限制性的日志級別),timeout是一個可選項(除了調試模式,對UI來說是必須的),這個恢復動作使用輪詢機制觸發。
Using the Storm UI
點擊一個正在運行中的topology,在Topology Actions節點擊“Change Log Level”。
然后,輸入logger名稱,選擇你期望的日志級別(例如warn),設置一個timeout(不需要的話可以留0),之后點擊“Add”。
點擊“Clear” 按鈕可以刪除日志級別,這將重置日志級別。雖然重置日志級別會有延遲,但是設置日志級別實際上是立竿見影的(或者說和消息從UI/CLI通過nimbus、zookeeper傳輸到workers一樣快)。
Using the CLI
命令格式如下:
./bin/storm set_log_level [topology name] -l [logger name]=[LEVEL]:[TIMEOUT]
例如:
./bin/storm set_log_level my_topology -l ROOT=DEBUG:30
這會設置ROOT logger 到DEBUG級別,持續30秒。
./bin/storm set_log_level my_topology -r ROOT
刪除ROOT logger動態日志級別,重置到初始值。