summaryrefslogtreecommitdiff
path: root/python-bb-logger.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-bb-logger.spec')
-rw-r--r--python-bb-logger.spec475
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