1
1
from signal import signal , SIGUSR1
2
+ import logging
2
3
import logging .handlers
3
4
import os
4
5
import shutil
5
6
import sys
6
7
7
8
import swsssdk .util
9
+ from swsscommon import swsscommon
8
10
9
11
import ax_interface
10
12
import sonic_ax_impl
@@ -43,6 +45,24 @@ def install_fragments():
43
45
install_file (pass_script , '/usr/share/snmp' , executable = True )
44
46
45
47
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
+
46
66
if __name__ == "__main__" :
47
67
48
68
if 'install' in sys .argv :
@@ -68,13 +88,16 @@ def install_fragments():
68
88
sonic_ax_impl .logger .addHandler (logging_handler )
69
89
log_level = logging .INFO
70
90
log_level_sdk = logging .ERROR
91
+ log_level_swsscommon = swsscommon .Logger .SWSS_ERROR
71
92
else :
72
93
sonic_ax_impl .logger .addHandler (logging .StreamHandler (sys .stdout ))
94
+ log_level_swsscommon = logging_level_to_swss_level (log_level )
73
95
74
96
# set the log levels
75
97
sonic_ax_impl .logger .setLevel (log_level )
76
98
ax_interface .logger .setLevel (log_level )
77
99
swsssdk .logger .setLevel (log_level_sdk )
100
+ swsscommon .Logger .getInstance ().setMinPrio (log_level_swsscommon )
78
101
79
102
# inherit logging handlers in submodules
80
103
ax_interface .logger .handlers = sonic_ax_impl .logger .handlers
0 commit comments