Spaces:
Build error
Build error
# Copyright (c) Microsoft Corporation. All rights reserved. | |
# Licensed under the MIT License. | |
from applicationinsights import logging | |
from . import common | |
class LoggingHandler(logging.LoggingHandler): | |
"""This class is a LoggingHandler that uses the same settings as the Django middleware to configure | |
the telemetry client. This can be referenced from LOGGING in your Django settings.py file. As an | |
example, this code would send all Django log messages, WARNING and up, to Application Insights: | |
.. code:: python | |
LOGGING = { | |
'version': 1, | |
'disable_existing_loggers': False, | |
'handlers': { | |
# The application insights handler is here | |
'appinsights': { | |
'class': 'applicationinsights.django.LoggingHandler', | |
'level': 'WARNING' | |
} | |
}, | |
'loggers': { | |
'django': { | |
'handlers': ['appinsights'], | |
'level': 'WARNING', | |
'propagate': True, | |
} | |
} | |
} | |
# You will need this anyway if you're using the middleware. | |
# See the middleware documentation for more information on configuring | |
# this setting: | |
APPLICATION_INSIGHTS = { | |
'ikey': '00000000-0000-0000-0000-000000000000' | |
} | |
""" | |
def __init__(self, *args, **kwargs): | |
client = common.create_client() | |
new_kwargs = {} | |
new_kwargs.update(kwargs) | |
new_kwargs["telemetry_channel"] = client.channel | |
super(LoggingHandler, self).__init__( | |
client.context.instrumentation_key, *args, **new_kwargs | |
) | |