diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 09:47:16 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 09:47:16 +0000 |
commit | 66a3b18bb58f9d2032b60fe45364a2384e5b0196 (patch) | |
tree | 562286f2a41b52c14778cb86d441d394e948d68c | |
parent | 6773430d3f77e91a9e1b3769a1d769c7e055773f (diff) |
automatic import of python-CycLogopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cyclog.spec | 414 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 416 insertions, 0 deletions
@@ -0,0 +1 @@ +/CycLog-1.1.4.tar.gz diff --git a/python-cyclog.spec b/python-cyclog.spec new file mode 100644 index 0000000..3f7c47c --- /dev/null +++ b/python-cyclog.spec @@ -0,0 +1,414 @@ +%global _empty_manifest_terminate_build 0 +Name: python-CycLog +Version: 1.1.4 +Release: 1 +Summary: A python module to handle cyclic logs. +License: The Unlicense (Unlicense) +URL: https://github.com/jonatan1609/CycleLog +Source0: https://mirrors.aliyun.com/pypi/web/packages/d0/8b/fc01ee2d22ff8885938d55681bc6d75dd35d4ac456d405cc8ad1e29fc027/CycLog-1.1.4.tar.gz +BuildArch: noarch + + +%description +# CycleLog + +This library will let you log into a cyclic file easily. + +#### What is a cycle log? +- A cycle log is a log file which does not keep more than N lines, once the log reaches N lines the logger will delete older lines from the beginning, +so you can only have latest logs which you need to figure out the error, to reproduce last steps, and such. + + +### basic example: +```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log" +) +for i in range(10): + logger.log(i) +``` + +which will be logged: + +``` +[27/01/2021 - 19:36] : 0 +[27/01/2021 - 19:36] : 1 +[27/01/2021 - 19:36] : 2 +[27/01/2021 - 19:36] : 3 +[27/01/2021 - 19:36] : 4 +[27/01/2021 - 19:36] : 5 +[27/01/2021 - 19:36] : 6 +[27/01/2021 - 19:36] : 7 +[27/01/2021 - 19:36] : 8 +[27/01/2021 - 19:36] : 9 + +``` + +Since the default max lines is 500, we got the entire log. let's try to change it to 5: + +```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log", + max_lines=5 +) +for i in range(10): + logger.log(i) +``` + +And now we only get the last 5 lines. +``` +[27/01/2021 - 19:38] : 5 +[27/01/2021 - 19:38] : 6 +[27/01/2021 - 19:38] : 7 +[27/01/2021 - 19:38] : 8 +[27/01/2021 - 19:38] : 9 + +``` + +In principle, you can give any object that has `__str__` method, `logger.log` +converts implicitly any object to string. + + +### Few more settings: + +> `include_date: bool`, default: `True` +>>determines whether to add time to log message or not. +> **it affects the format message only in case of the format message is the default.** +>>> for example, without date, a typical message will look: +>>>> `[19:38] : 9` + +> `include_time: bool`, default: `True` +>>determines whether to add date to log message or not. +> **it affects the format message only in case of the format message is the default.** +>>> for example, without time, a typical message will look: +>>>> `[27/01/2021] : 9` + + +>if both `include_time` and `include_date` will be False, a log will only show the message itself. +>> `logger.log("hello")` will log `hello`, without date or time. + +> `max_lines: int`, default: `500`. +>>Determines the maximum of lines in a file. + +>`message_format: str`, default: `"[{date} - {time}] : {message}"` +>> you can set it to your own message and then you +can add keyword arguments to `logger.log`, for example: + + ```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log", + max_lines=5, + message_format=CycleLogger.MESSAGE_FORMAT + " [from {name} - {n}]" +) +for i in range(10): + logger.log(i, name="Jonatan", n=i) +``` +will be +```[27/01/2021 - 19:50] : 5 [from Jonatan - 5] +[27/01/2021 - 19:50] : 6 [from Jonatan - 6] +[27/01/2021 - 19:50] : 7 [from Jonatan - 7] +[27/01/2021 - 19:50] : 8 [from Jonatan - 8] +[27/01/2021 - 19:50] : 9 [from Jonatan - 9] +``` +>`date_format: str`, default: `"%d/%m/%Y"` +>> Determines how the date will look. + +>`time_format: str`, default: `"%H:%M"` +>> Determines how the time will look. + +>`file_mode: str`, default: `a+` +>> A mode to open the file in, the mode must be writable and readable. +> you can see a list of modes and explanation: https://docs.python.org/3/library/functions.html#open + +%package -n python3-CycLog +Summary: A python module to handle cyclic logs. +Provides: python-CycLog +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-CycLog +# CycleLog + +This library will let you log into a cyclic file easily. + +#### What is a cycle log? +- A cycle log is a log file which does not keep more than N lines, once the log reaches N lines the logger will delete older lines from the beginning, +so you can only have latest logs which you need to figure out the error, to reproduce last steps, and such. + + +### basic example: +```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log" +) +for i in range(10): + logger.log(i) +``` + +which will be logged: + +``` +[27/01/2021 - 19:36] : 0 +[27/01/2021 - 19:36] : 1 +[27/01/2021 - 19:36] : 2 +[27/01/2021 - 19:36] : 3 +[27/01/2021 - 19:36] : 4 +[27/01/2021 - 19:36] : 5 +[27/01/2021 - 19:36] : 6 +[27/01/2021 - 19:36] : 7 +[27/01/2021 - 19:36] : 8 +[27/01/2021 - 19:36] : 9 + +``` + +Since the default max lines is 500, we got the entire log. let's try to change it to 5: + +```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log", + max_lines=5 +) +for i in range(10): + logger.log(i) +``` + +And now we only get the last 5 lines. +``` +[27/01/2021 - 19:38] : 5 +[27/01/2021 - 19:38] : 6 +[27/01/2021 - 19:38] : 7 +[27/01/2021 - 19:38] : 8 +[27/01/2021 - 19:38] : 9 + +``` + +In principle, you can give any object that has `__str__` method, `logger.log` +converts implicitly any object to string. + + +### Few more settings: + +> `include_date: bool`, default: `True` +>>determines whether to add time to log message or not. +> **it affects the format message only in case of the format message is the default.** +>>> for example, without date, a typical message will look: +>>>> `[19:38] : 9` + +> `include_time: bool`, default: `True` +>>determines whether to add date to log message or not. +> **it affects the format message only in case of the format message is the default.** +>>> for example, without time, a typical message will look: +>>>> `[27/01/2021] : 9` + + +>if both `include_time` and `include_date` will be False, a log will only show the message itself. +>> `logger.log("hello")` will log `hello`, without date or time. + +> `max_lines: int`, default: `500`. +>>Determines the maximum of lines in a file. + +>`message_format: str`, default: `"[{date} - {time}] : {message}"` +>> you can set it to your own message and then you +can add keyword arguments to `logger.log`, for example: + + ```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log", + max_lines=5, + message_format=CycleLogger.MESSAGE_FORMAT + " [from {name} - {n}]" +) +for i in range(10): + logger.log(i, name="Jonatan", n=i) +``` +will be +```[27/01/2021 - 19:50] : 5 [from Jonatan - 5] +[27/01/2021 - 19:50] : 6 [from Jonatan - 6] +[27/01/2021 - 19:50] : 7 [from Jonatan - 7] +[27/01/2021 - 19:50] : 8 [from Jonatan - 8] +[27/01/2021 - 19:50] : 9 [from Jonatan - 9] +``` +>`date_format: str`, default: `"%d/%m/%Y"` +>> Determines how the date will look. + +>`time_format: str`, default: `"%H:%M"` +>> Determines how the time will look. + +>`file_mode: str`, default: `a+` +>> A mode to open the file in, the mode must be writable and readable. +> you can see a list of modes and explanation: https://docs.python.org/3/library/functions.html#open + +%package help +Summary: Development documents and examples for CycLog +Provides: python3-CycLog-doc +%description help +# CycleLog + +This library will let you log into a cyclic file easily. + +#### What is a cycle log? +- A cycle log is a log file which does not keep more than N lines, once the log reaches N lines the logger will delete older lines from the beginning, +so you can only have latest logs which you need to figure out the error, to reproduce last steps, and such. + + +### basic example: +```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log" +) +for i in range(10): + logger.log(i) +``` + +which will be logged: + +``` +[27/01/2021 - 19:36] : 0 +[27/01/2021 - 19:36] : 1 +[27/01/2021 - 19:36] : 2 +[27/01/2021 - 19:36] : 3 +[27/01/2021 - 19:36] : 4 +[27/01/2021 - 19:36] : 5 +[27/01/2021 - 19:36] : 6 +[27/01/2021 - 19:36] : 7 +[27/01/2021 - 19:36] : 8 +[27/01/2021 - 19:36] : 9 + +``` + +Since the default max lines is 500, we got the entire log. let's try to change it to 5: + +```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log", + max_lines=5 +) +for i in range(10): + logger.log(i) +``` + +And now we only get the last 5 lines. +``` +[27/01/2021 - 19:38] : 5 +[27/01/2021 - 19:38] : 6 +[27/01/2021 - 19:38] : 7 +[27/01/2021 - 19:38] : 8 +[27/01/2021 - 19:38] : 9 + +``` + +In principle, you can give any object that has `__str__` method, `logger.log` +converts implicitly any object to string. + + +### Few more settings: + +> `include_date: bool`, default: `True` +>>determines whether to add time to log message or not. +> **it affects the format message only in case of the format message is the default.** +>>> for example, without date, a typical message will look: +>>>> `[19:38] : 9` + +> `include_time: bool`, default: `True` +>>determines whether to add date to log message or not. +> **it affects the format message only in case of the format message is the default.** +>>> for example, without time, a typical message will look: +>>>> `[27/01/2021] : 9` + + +>if both `include_time` and `include_date` will be False, a log will only show the message itself. +>> `logger.log("hello")` will log `hello`, without date or time. + +> `max_lines: int`, default: `500`. +>>Determines the maximum of lines in a file. + +>`message_format: str`, default: `"[{date} - {time}] : {message}"` +>> you can set it to your own message and then you +can add keyword arguments to `logger.log`, for example: + + ```python +from CycLog import CycleLogger + +logger = CycleLogger( + file_name="your_project.log", + max_lines=5, + message_format=CycleLogger.MESSAGE_FORMAT + " [from {name} - {n}]" +) +for i in range(10): + logger.log(i, name="Jonatan", n=i) +``` +will be +```[27/01/2021 - 19:50] : 5 [from Jonatan - 5] +[27/01/2021 - 19:50] : 6 [from Jonatan - 6] +[27/01/2021 - 19:50] : 7 [from Jonatan - 7] +[27/01/2021 - 19:50] : 8 [from Jonatan - 8] +[27/01/2021 - 19:50] : 9 [from Jonatan - 9] +``` +>`date_format: str`, default: `"%d/%m/%Y"` +>> Determines how the date will look. + +>`time_format: str`, default: `"%H:%M"` +>> Determines how the time will look. + +>`file_mode: str`, default: `a+` +>> A mode to open the file in, the mode must be writable and readable. +> you can see a list of modes and explanation: https://docs.python.org/3/library/functions.html#open + +%prep +%autosetup -n CycLog-1.1.4 + +%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-CycLog -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.4-1 +- Package Spec generated @@ -0,0 +1 @@ +46b2ce806e8957b6e90730eaa42c1280 CycLog-1.1.4.tar.gz |