BB LOGGER
Description
- Remove all logger handlers and reformat log record ( can be extended )
- Set noti status, controlable by arguments
- Override lambda raise error to critical and notice if noti status = True, optional
How
- call setup_logging() one time at begin of program
- using decorator setup_logging_dec() with each lambda
Params
default_level (int, optional): min log level. Defaults to logging.WARNING.
extend_format (str, optional): custom extend format. Defaults to None.
lambda_exec_error_log (bool, optional): log with critical level for lambda raise exception. Defaults to True. only with decorator setup_logging_dec()
default_noti_level (int, optional): all log from this level will be noticed if no arguments are provided. Defaults to logging.ERROR
force_noti_level (int, optional): force all log with this level to be noticed. Defaults to logging.ERROR.
Notes
(*) extend_format logic
logging format details can be here
- BASE_FORMAT = '[%(levelname)s]'
- DEFAULT_FORMAT = BASE_FORMAT + ' %(message)s'
- if extend_format is specified, FORMAT will be : BASE_FORMAT + '\t'+ extend_format
- else DEFAULT_FORMAT wil be used
EXAMPLES
1. Remove all logger handlers and reformat log record
sample code
import logging
from bb_logger import setup_logging
logging.error('before setup, using old handler format')
# setup log with default
setup_logging()
logging.error('after setup, using new default format')
# setup logger with extend format
setup_logging(extend_format="%(asctime)s - %(message)s")
logging.error('after setup with custom format, using extended format')
output
ERROR:root:before setup, using old handler format
[ERROR] after setup, using new default format
[ERROR] 2021-01-10 18:18:46,202 - after setup with custom format, using extended format
2. Set noti status
ADD NOTI STATUS TO LOG BASE ON CONDITIONS
(*) force_noti_level : default is logging.ERROR
EXAMPLE
import logging
from bb_logger import setup_logging
logging.error('before setup')
# setup log with default
setup_logging()
logging.error('after setup, noti status was added')
# specify if this log will be noticed or not
logging.warning('warning with noti True', {'noti': True})
logging.warning('warning with noti False', {'noti': False})
# set force noti level
setup_logging(default_level=logging.INFO, force_noti_level=logging.INFO)
logging.info('info with noti True', {'noti': True})
logging.info('info with noti False stil have NOTI status', {'noti': False})
output
[ERROR] 2021-02-06T08:01:56.558Z c4c3fad9-eacf-41f3-bba1-15b119bfd980 before setup
[ERROR] [NOTI] after setup, noti status was added
[WARNING] [NOTI] warning with noti True
[WARNING] [NOT_NOTI] warning with noti False
[INFO] [NOTI] info with noti True
[INFO] [NOTI] info with noti False stil have NOTI status
Override lambda raise error to critical
EXAMPLE
from bb_logger import setup_logging,setup_logging_dec
@setup_logging_dec(default_level=logging.INFO,lambda_exec_error_log=True, force_noti_level=logging.ERROR)
def lambda_handler(event, context):
a = 1 / 0
output
[CRITICAL] [NOTI] division by zero
Traceback (most recent call last):
File "/var/task/bb_logger.py", line 98, in wrapper
func(*args, **kwargs)
File "/var/task/lambda_function.py", line 12, in lambda_handler
a = 1/ 0
exception raise by lambda will be set at Critical level and noticed
NOTE
CloudWatch now accept following pattern:
- [LEVEL] [NOTI]
Example:
-
"[ERROR] [NOTI] error log" will be matched
-
"some thing before [ERROR] [NOTI] error log" will be matched
Metadata
Release files for bb-logger 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bb_logger-0.3.3.tar.gz | 5.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bb_logger-0.3.3-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 12.0 kB
Release files / bb_logger-0.3.3.tar.gz
| Download URL | bb_logger-0.3.3.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b75a337bc33cbc78b333f92523b8106a172cd0a7a3fb11f559c685e0b874b04b
|
|
BLAKE2b-256 checksum How to use checksums |
1d7a8ff21a663f5ed7d40af79f356f330f8f1233b7d44d1d0444cb79e40c23d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.55.2 CPython/3.7.10
|
Release files / bb_logger-0.3.3-py2.py3-none-any.whl
| Download URL | bb_logger-0.3.3-py2.py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
a61b0238712b7299d276aa13abd898b627b705760b96b90e9da1cfbcd81bdcca
|
|
BLAKE2b-256 checksum How to use checksums |
17b42c64651583a27d9dbaab451b8c7c47d8ee5eb316dffedb4a80d70a2d19a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.0 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.55.2 CPython/3.7.10
|
Security for bb-logger 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.