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)
| File | Size | Uploaded | |
|---|---|---|---|
| azlog-0.1.1.tar.gz | 2.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|