Skip to main content

Azure DevOps pipelines python logger

Azure pipelines have a feature called Logging commands, which makes it possible to communicate with the Azure pipeline agent.
These logging commands are often used to set a pipeline variable, but can also be used to write formatted logs in the task standard outputs, or write error/warning messages on the pipeline results web page.

For example, writing the following logs to the standard output :

print("##[group]Beginning of a group")
print("##[warning]Warning message")
print("##[error]Error message")
print("##[section]Start of a section")
print("##[debug]Debug text")
print("##[command]Command-line being run")
print("##[endgroup]")

Will render in the task logs like this :

This convenience python module is designed to make formatted logging and error/warning messages in Azure pipelines easier to use.
It uses the python logging system by creating a subclass of logging.LoggerAdapter.

Install

pip install azlog

Usage

First create an AzLogger

from azlog import AzLogger
# Create the logger
logger = AzLogger(__name__)
logger.setLevel(logging.INFO)

The AzLogger adapter will create a python Logger with the name provided as argument.
Internally, AzLogger will create a StreamHandler using an AzFormatter as its formatter

You can also provide your own logger if you need additionnal handlers :

import logging
from azlog import AzLogger

raw_logger = logging.getLogger(__name__)
raw_logger.addHandler(logging.FileHandler('file.log'))

logger = AzLogger(raw_logger)
logger.setLevel(logging.INFO)

You can then use the AzLogger to print formatted log messages to your task output

logger.group("Beginning of a group")
logger.warning("Warning message")
logger.error("Error message")
logger.section("Start of a section")
logger.debug("Debug text")
logger.command("Command-line being run")
logger.endgroup("")

Will render in the task output like this :

Or to raise status messages

logger.issueerror("Issue an error to the pipeline")
logger.issuewarning("Issue a warning to the pipeline")

Will render in the pipeline status page like this :

Metadata

Release files for azlog 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for azlog 0.1.1
File Size Uploaded
azlog-0.1.1.tar.gz 2.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for azlog 0.1.1
File Interpreter ABI Platform
azlog-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.4 kB

Release files / azlog-0.1.1.tar.gz

Download URL azlog-0.1.1.tar.gz
Size 2.5 kB
Tags Source
SHA-256 checksum
How to use checksums
59e38fcd5f0bb5c7a3ba07b817dc865293bc6f812f18a13d535ad808321153dd
BLAKE2b-256 checksum
How to use checksums
331a36aff6078700ae5ad4b4cf89ebec11970319965801780c897dce96daea3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / azlog-0.1.1-py3-none-any.whl

Download URL azlog-0.1.1-py3-none-any.whl
Size 2.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71ecb2bbee1d1a5c960c1466bfeb10d8fcf845ef7e82a071190841081222b9b9
BLAKE2b-256 checksum
How to use checksums
2d84c739526772c7c8fc3dc06e30d15bcb40ca03a2fa9afa07995f733654620d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page