File tree 2 files changed +17
-6
lines changed
azure-monitor-opentelemetry-distro
azure/monitor/opentelemetry/distro/_diagnostics
2 files changed +17
-6
lines changed Original file line number Diff line number Diff line change 18
18
)
19
19
from azure .monitor .opentelemetry .distro ._version import VERSION
20
20
21
- _OPENTELEMETRY_DIAGNOSTIC_LOGGER_NAME = "opentelemetry"
22
21
_DIAGNOSTIC_LOGGER_FILE_NAME = "applicationinsights-extension.log"
23
22
_SITE_NAME = _env_var_or_default ("WEBSITE_SITE_NAME" )
24
23
_SUBSCRIPTION_ID_ENV_VAR = _env_var_or_default ("WEBSITE_OWNER_NAME" )
@@ -68,14 +67,18 @@ def _initialize():
68
67
fmt = format , datefmt = "%Y-%m-%dT%H:%M:%S"
69
68
)
70
69
AzureDiagnosticLogging ._f_handler .setFormatter (formatter )
71
- _logger .addHandler (AzureDiagnosticLogging ._f_handler )
72
70
AzureDiagnosticLogging ._initialized = True
73
71
_logger .info ("Initialized Azure Diagnostic Logger." )
74
72
75
73
def enable (logger : logging .Logger ):
76
74
AzureDiagnosticLogging ._initialize ()
77
75
if AzureDiagnosticLogging ._initialized :
78
- logger .addHandler (AzureDiagnosticLogging ._f_handler )
79
- _logger .info (
80
- "Added Azure diagnostics logging to %s." % logger .name
81
- )
76
+ if AzureDiagnosticLogging ._f_handler in logger .handlers :
77
+ _logger .info (
78
+ "Azure diagnostics already enabled for %s logger." % logger .name
79
+ )
80
+ else :
81
+ logger .addHandler (AzureDiagnosticLogging ._f_handler )
82
+ _logger .info (
83
+ "Added Azure diagnostics logging to %s." % logger .name
84
+ )
Original file line number Diff line number Diff line change @@ -151,6 +151,14 @@ def test_warning(self):
151
151
TEST_LOGGER_SUB_MODULE .warning (MESSAGE2 )
152
152
check_file_for_messages ("WARNING" , (MESSAGE1 , MESSAGE2 ))
153
153
154
+ def test_warning_multiple_enable (self ):
155
+ set_up (is_diagnostics_enabled = True )
156
+ diagnostic_logger .AzureDiagnosticLogging .enable (TEST_LOGGER )
157
+ diagnostic_logger .AzureDiagnosticLogging .enable (TEST_LOGGER )
158
+ TEST_LOGGER_SUB_MODULE .warning (MESSAGE1 )
159
+ TEST_LOGGER_SUB_MODULE .warning (MESSAGE2 )
160
+ check_file_for_messages ("WARNING" , (MESSAGE1 , MESSAGE2 ))
161
+
154
162
def test_error (self ):
155
163
set_up (is_diagnostics_enabled = True )
156
164
TEST_LOGGER_SUB_MODULE .error (MESSAGE1 )
You can’t perform that action at this time.
0 commit comments