IoT Edge Logger Library for Python
Project description
iot-edge-logger
This package is a custom log formatter to standardize, collect and analyze logs from IoT Edge Devices in an Azure Log Analytics Workspace.
Table of Contents
Getting Started
This section provides basic examples with the iot-edge-logger
.
Prerequisites
- Python 3.7 or later is required to use this package.
Basic Examples
-
Install via pip:
pip install iot-edge-logger
-
Import and say hello:
from iot.edge.logger import __version__ print(f"hello world from iot-edge-logger version: {__version__}")
-
Basic usage:
from iot.edge.logger import init_logging # setup logging logger = init_logging(module_name="my_iot_module") logger.info("I am alive!") logger.warning("Plotting global takeover...") logger.error("Humans have become suspicious, shutting down")
API Documentation
Init Logging Method
A custom logger to provide well formatted logging for a given IoT Edge Module - or any Python program.
init_logging(
module_name,
level="DEBUG",
format="<%(levelno)s> %(asctime)s [%(levelname)s] %(module_name)s %(message)s",
datefmt=None,
timespec="milliseconds",
timezone="UTC",
)
Parameters
-
module_name
strThe name of the IoT Edge module that is using this logger. Used for filtering and querying in log analytics - use "this_format_for_module".
-
level
Optional[str]The logging level. Default is "DEBUG".
-
format
Optional[str]The desired logging format. Default seen above.
-
datefmt
Optional[str]The desired date format. Default is None.
-
timespec
Optional[str]The time accuracy represented in log records. Default is "milliseconds".
-
timezone
Optional[str]The timezone represented in log records. Default is "UTC".
Valid Timezones
-
US/Alaska
-
US/Central
-
US/Eastern
-
US/Mountain
-
US/Pacific
-
UTC
Returns
Returns a logger object.
Contributing
Contributions and suggestions are welcomed. However, there is a level of responsibility placed on the contributor to follow best-practices, provide thorough testing, follow the branching strategy, use the pull request template, and maintain a positive and coachable attitude when receiving feedback or questions on your code.
Versioning
This repository adheres to Semantic Versioning. It will be maintained through the CHANGELOG.md
- as is standard with PyPI packages It's important to note that you must maintain the version with your releases in iot/edge/logger/_version.py
, otherwise a new package version will fail to get published.
Deployment Process
-
Linting, testing and building occurs when a pull request is made from a
features/*
branch to themaster
branch. -
Deployments to PyPI occur when an approved user triggers the GitHub Action. If the version has not been updated, this deployment will fail.
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
Built Distribution
Hashes for iot_edge_logger-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1e76fc38272e32d3292be09d6588f765b7c1a2adc2603a9b14f988bf7c61451 |
|
MD5 | 84f02640484bb808c24b7ae327dedd05 |
|
BLAKE2b-256 | f66ab24dea73961046bc1fec6444337c0ee49aa49b79a8e7a4a4283100cce69d |