Metadata-Version: 2.1
Name: pino
Version: 0.5.2
Summary: Python json logger inspired by pino.js
Home-page: https://github.com/CoorpAcademy/pino.py
License: MIT
Keywords: log,logger,logging,json
Author: Adrien Becchis
Author-email: adrien.becchis@coorpacademy.com
Requires-Python: >=3.6,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Logging
Requires-Dist: style (>=1.1.6,<2.0.0)
Description-Content-Type: text/markdown

pino.py
=======

> **Json natural logger for python** inspired by [pino.js](https://github.com/pinojs/pino) :evergreen_tree:

[![PyPI](https://img.shields.io/pypi/v/pino.svg)](https://pypi.org/project/pino/)
[![Supported Python Versions](https://img.shields.io/pypi/pyversions/pino.svg)](https://pypi.python.org/pypi/pino)
[![Build Status](https://travis-ci.com/CoorpAcademy/pino.py.svg?branch=master)](https://travis-ci.com/CoorpAcademy/pino.py)
[![codecov](https://codecov.io/gh/CoorpAcademy/pino.py/branch/master/graph/badge.svg)](https://codecov.io/gh/CoorpAcademy/pino.py)

> In building port of [pinojs](https://github.com/pinojs/pino) logging library to python :snake:

:warning: This is a in building prototype, it's API is subject to change.
A CHANGELOG will be introduced once it's stable enough and publicized.
Use it at you own risk, but feel free to reach with an issue.


### Basic Example

```python
from pino import pino

logger = pino(
    bindings={"apptype": "prototype", "context": "main"}
)

logger.info("Hello, I just started")
logger.debug({"details": 42}, "Some details that won't be seen")

child_logger = logger.child(context="some_job")
child_logger.info("Job started")
child_logger.info({"duration": 4012}, "Job completed %s", "NOW")

logger.info("Program completed")
```

Which would output:
```
{"level": "info", "time": 1587740056952, "message": "Hello, I just started", "host": "SomeHost", "apptype": "prototype", "context": "main", "millidiff": 0}
{"level": "info", "time": 1587740056952, "message": "Job started", "host": "SomeHost", "context": "some_job", "apptype": "prototype", "millidiff": 0}
{"level": "info", "time": 1587740056952, "message": "Job completed NOW", "host": "SomeHost", "duration": 4012, "context": "some_job", "apptype": "prototype", "millidiff": 0}
{"level": "info", "time": 1587740056952, "message": "Program completed", "host": "SomeHost", "apptype": "prototype", "context": "main", "millidiff": 0}
```


## Development :hammer_and_wrench:

This library use [***Poetry***](https://python-poetry.org/) for management of the project, it's dependencies, build and else.

You can run test on all supported python version with `poetry run task test` (which will run `tox`),
or you can run on your current python version with `poetry run task pytest`.

