diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 04:47:52 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 04:47:52 +0000 |
commit | 0c466f5252ed87472b06a234e6d6321d72ef0fce (patch) | |
tree | 3b767e157ed34d729df85276d4ec9582f7a8ea34 /python-bb-logger.spec | |
parent | 8a6d4d2c32580fa649c8caf54202c06d6068f6b4 (diff) |
automatic import of python-bb-loggeropeneuler20.03
Diffstat (limited to 'python-bb-logger.spec')
-rw-r--r-- | python-bb-logger.spec | 475 |
1 files changed, 475 insertions, 0 deletions
diff --git a/python-bb-logger.spec b/python-bb-logger.spec new file mode 100644 index 0000000..da7dd93 --- /dev/null +++ b/python-bb-logger.spec @@ -0,0 +1,475 @@ +%global _empty_manifest_terminate_build 0 +Name: python-bb-logger +Version: 0.3.3 +Release: 1 +Summary: setup logger bb +License: MIT +URL: https://github.com/dulx96/bb_logger.git +Source0: https://mirrors.aliyun.com/pypi/web/packages/1d/7a/8ff21a663f5ed7d40af79f356f330f8f1233b7d44d1d0444cb79e40c23d4/bb_logger-0.3.3.tar.gz +BuildArch: noarch + +Requires: python3-slack-sdk + +%description +# BB LOGGER +## Description +1. Remove all logger handlers and reformat log record ( can be extended ) +2. Set noti status, controlable by arguments +3. Override lambda raise error to critical and notice if noti status = True, optional + + +## How +> 1. call setup_logging() one time at begin of program +> 2. 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](https://docs.python.org/3/library/logging.html#logrecord-attributes) + +* 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 +```python +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 +```sh +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 + +```python +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 +```sh +[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 + +```python +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 +```shell +[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 + + + +%package -n python3-bb-logger +Summary: setup logger bb +Provides: python-bb-logger +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-bb-logger +# BB LOGGER +## Description +1. Remove all logger handlers and reformat log record ( can be extended ) +2. Set noti status, controlable by arguments +3. Override lambda raise error to critical and notice if noti status = True, optional + + +## How +> 1. call setup_logging() one time at begin of program +> 2. 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](https://docs.python.org/3/library/logging.html#logrecord-attributes) + +* 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 +```python +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 +```sh +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 + +```python +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 +```sh +[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 + +```python +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 +```shell +[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 + + + +%package help +Summary: Development documents and examples for bb-logger +Provides: python3-bb-logger-doc +%description help +# BB LOGGER +## Description +1. Remove all logger handlers and reformat log record ( can be extended ) +2. Set noti status, controlable by arguments +3. Override lambda raise error to critical and notice if noti status = True, optional + + +## How +> 1. call setup_logging() one time at begin of program +> 2. 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](https://docs.python.org/3/library/logging.html#logrecord-attributes) + +* 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 +```python +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 +```sh +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 + +```python +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 +```sh +[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 + +```python +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 +```shell +[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 + + + +%prep +%autosetup -n bb_logger-0.3.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-bb-logger -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.3-1 +- Package Spec generated |