Skip to main content

Loging helper for Azure Monitor and Open Census

Project description

Provides addition properties for Azure Monitor under Azure Functions

This library is a sample of how to add additional properties that are queryable from Azure Monitor via traces.

Goal

The purpose is to provide a simple way to query on the message title with some set prefix, the using the returned records apply addition query logic.

This library is coupled to Azure Functions package in addition to OpenCensus.

OpenCensus

More details are explained at Set up Azure Monitor for your Python application

Usage

Installation

The package is published to Pypi.org and can be installed using normal pip or other Python package management tools.

pip install azfunctionsmonitor

Very simply you just ensure that the APPLICATIONINSIGHTS_CONNECTION_STRING environment variable is set for the application such as in WebApps or Azure Functions.

Again refer to OpenCensus above for more.

from azfunctionsmonitor import get_logger

logger = get_logger("my stuff") # LoggingHelper("zipper", logging.getLogger())
logger.info("hellow")
logger.debug("same same")
print("done")

If you don't have the OpenCensus APPLICATIONINSIGHTS_CONNECTION_STRING variable or it is set incorrectly:

ERROR:root:failed to load opencensus AzureLogHandler: Instrumentation key cannot be none or empty.
Traceback (most recent call last):
  File "/Users/cicorias/g/cse/py/az-mon-test/.venv/lib/python3.7/site-packages/azfunctionsmonitor/LoggingHelper.py", line 61, in get_logger
    azure_handler = AzureLogHandler()
  File "/Users/cicorias/g/cse/py/az-mon-test/.venv/lib/python3.7/site-packages/opencensus/ext/azure/log_exporter/__init__.py", line 45, in __init__
    utils.validate_instrumentation_key(self.options.instrumentation_key)
  File "/Users/cicorias/g/cse/py/az-mon-test/.venv/lib/python3.7/site-packages/opencensus/ext/azure/common/utils.py", line 76, in validate_instrumentation_key
    raise ValueError("Instrumentation key cannot be none or empty.")
ValueError: Instrumentation key cannot be none or empty.
WARNING:root:[my stuff] logging set to WARNING

Environment settings

There are essentially only two key environment varaibles that the library is directly aware of

  • APPLICATIONINSIGHTS_CONNECTION_STRING - which is what OpenCensus relies on
  • LOGLEVEL - this is equivalent to the Python log levels and can be set to DEBUG, INFO, WARNING, ERROR etc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azfunctionsmonitor-0.1.111.tar.gz (7.3 kB view hashes)

Uploaded Source

Built Distribution

azfunctionsmonitor-0.1.111-py3-none-any.whl (7.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page