Skip to content

Commit 0544280

Browse files
committed
set correct logging provider
1 parent 66e911a commit 0544280

1 file changed

Lines changed: 28 additions & 23 deletions

File tree

jwtproxy/src/server.py

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
log_fmt = base_log_fmt.copy()
3131
audit_log_fmt = {"audit": True}
3232
audit_log_fmt.update(log_fmt)
33+
3334
log_cfg = {
3435
"version": 1,
3536
"disable_existing_loggers": False,
@@ -43,18 +44,6 @@
4344
"formatter": "json",
4445
"level": LOG_LEVEL,
4546
},
46-
"appinsights": {
47-
"class": "opencensus.ext.azure.log_exporter.AzureLogHandler",
48-
"connection_string": AZURE_APPLICATIONINSIGHTS_CONNSTRING,
49-
"formatter": "json-audit",
50-
"level": "DEBUG",
51-
},
52-
"appinsightsaccess": {
53-
"class": "opencensus.ext.azure.log_exporter.AzureLogHandler",
54-
"connection_string": AZURE_APPLICATIONINSIGHTS_CONNSTRING,
55-
"formatter": "json",
56-
"level": "DEBUG",
57-
},
5847
},
5948
"loggers": {
6049
"jwtproxy.applogs": {
@@ -64,26 +53,42 @@
6453
},
6554
"jwtproxy.auditlogs": {
6655
"propagate": False,
67-
"handlers": ["appinsights"],
56+
"handlers": ["console"], # changed below if Azure Connection string is set
6857
"level": "DEBUG", # Send everything
6958
},
7059
"jwtproxy.accesslogs": {
7160
"propagate": False,
72-
"handlers": ["appinsightsaccess"],
61+
"handlers": ["console"], # changed below if Azure Connection string is set
7362
"level": "DEBUG", # Send everything
7463
},
7564
},
7665
}
7766

78-
if not AZURE_APPLICATIONINSIGHTS_CONNSTRING:
79-
log_cfg["handlers"].pop("appinsights")
80-
log_cfg["handlers"].pop("appinsightsaccess")
81-
log_cfg["loggers"]["jwtproxy.auditlogs"]["handlers"] = [
82-
"console",
83-
]
84-
log_cfg["loggers"]["jwtproxy.accesslogs"]["handlers"] = [
85-
"console",
86-
]
67+
if AZURE_APPLICATIONINSIGHTS_CONNSTRING:
68+
from azure.monitor.opentelemetry.exporter import AzureMonitorLogExporter
69+
from opentelemetry.sdk._logs import LoggerProvider
70+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
71+
72+
logger_provider = LoggerProvider()
73+
logger_provider.add_log_record_processor(
74+
BatchLogRecordProcessor(
75+
AzureMonitorLogExporter(connection_string=AZURE_APPLICATIONINSIGHTS_CONNSTRING)
76+
)
77+
)
78+
log_cfg["handlers"]["appinsights"] = {
79+
"class": "opentelemetry.sdk._logs.LoggingHandler",
80+
"logger_provider": logger_provider,
81+
"formatter": "json-audit",
82+
"level": "DEBUG",
83+
}
84+
log_cfg["handlers"]["appinsightsaccess"] = {
85+
"class": "opentelemetry.sdk._logs.LoggingHandler",
86+
"logger_provider": logger_provider,
87+
"formatter": "json",
88+
"level": "DEBUG",
89+
}
90+
log_cfg["loggers"]["jwtproxy.auditlogs"]["handlers"] = ["appinsights"]
91+
log_cfg["loggers"]["jwtproxy.accesslogs"]["handlers"] = ["appinsightsaccess"]
8792
dictConfig(log_cfg)
8893

8994
app_logger = logging.getLogger("jwtproxy.applogs")

0 commit comments

Comments
 (0)