Thanks to visit codestin.com
Credit goes to github.com

Skip to content

joscherrer/azlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 :

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages