11from signal import signal , SIGUSR1
2+ import logging
23import logging .handlers
34import os
45import shutil
56import sys
67
78import swsssdk .util
9+ from swsscommon import swsscommon
810
911import ax_interface
1012import sonic_ax_impl
@@ -43,6 +45,24 @@ def install_fragments():
4345 install_file (pass_script , '/usr/share/snmp' , executable = True )
4446
4547
48+ # Mapping logging log level to SWSS log level
49+ # ref: https://docs.python.org/3/library/logging.html#logging-levels
50+ def logging_level_to_swss_level (log_level ):
51+ if not isinstance (log_level , int ):
52+ raise ValueError ('log_level must be a int' )
53+ if log_level >= logging .CRITICAL :
54+ log_level_swsscommon = swsscommon .Logger .SWSS_CRIT
55+ elif log_level >= logging .ERROR :
56+ log_level_swsscommon = swsscommon .Logger .SWSS_ERROR
57+ elif log_level >= logging .WARNING :
58+ log_level_swsscommon = swsscommon .Logger .SWSS_WARN
59+ elif log_level >= logging .INFO :
60+ log_level_swsscommon = swsscommon .Logger .SWSS_INFO
61+ else :
62+ log_level_swsscommon = swsscommon .Logger .SWSS_DEBUG
63+ return log_level_swsscommon
64+
65+
4666if __name__ == "__main__" :
4767
4868 if 'install' in sys .argv :
@@ -68,13 +88,16 @@ def install_fragments():
6888 sonic_ax_impl .logger .addHandler (logging_handler )
6989 log_level = logging .INFO
7090 log_level_sdk = logging .ERROR
91+ log_level_swsscommon = swsscommon .Logger .SWSS_ERROR
7192 else :
7293 sonic_ax_impl .logger .addHandler (logging .StreamHandler (sys .stdout ))
94+ log_level_swsscommon = logging_level_to_swss_level (log_level )
7395
7496 # set the log levels
7597 sonic_ax_impl .logger .setLevel (log_level )
7698 ax_interface .logger .setLevel (log_level )
7799 swsssdk .logger .setLevel (log_level_sdk )
100+ swsscommon .Logger .getInstance ().setMinPrio (log_level_swsscommon )
78101
79102 # inherit logging handlers in submodules
80103 ax_interface .logger .handlers = sonic_ax_impl .logger .handlers
0 commit comments