Hello community,
here is the log from the commit of package python-logzero for openSUSE:Factory checked in at 2019-04-08 20:53:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-logzero (Old)
and /work/SRC/openSUSE:Factory/.python-logzero.new.3908 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-logzero"
Mon Apr 8 20:53:15 2019 rev:6 rq:691800 version:1.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-logzero/python-logzero.changes 2018-12-24 11:39:29.217553531 +0100
+++ /work/SRC/openSUSE:Factory/.python-logzero.new.3908/python-logzero.changes 2019-04-08 20:53:18.098558031 +0200
@@ -1,0 +2,6 @@
+Fri Apr 5 12:06:37 UTC 2019 - Tomáš Chvátal
+
+- Update to 1.5.0:
+ * logzero.syslog(..) (PR 83)
+
+-------------------------------------------------------------------
Old:
----
logzero-1.4.0.tar.gz
New:
----
logzero-1.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-logzero.spec ++++++
--- /var/tmp/diff_new_pack.BC7wXz/_old 2019-04-08 20:53:20.646559900 +0200
+++ /var/tmp/diff_new_pack.BC7wXz/_new 2019-04-08 20:53:20.706559945 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-logzero
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,26 +17,22 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%bcond_without test
Name: python-logzero
-Version: 1.4.0
+Version: 1.5.0
Release: 0
Summary: A logging module for Python
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/metachris/logzero
+URL: https://github.com/metachris/logzero
Source: https://files.pythonhosted.org/packages/source/l/logzero/logzero-%{version}.tar.gz
BuildRequires: %{python_module pytest-runner}
BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
BuildRequires: python-rpm-macros
+BuildArch: noarch
# SECTION test requirements
-%if %{with test}
BuildRequires: %{python_module pytest}
-%endif
# /SECTION
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
-
%python_subpackages
%description
@@ -53,21 +49,15 @@
%install
%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
-%if %{with test}
%check
export LANG=en_US.UTF8
%python_exec setup.py test
-%endif
%files %{python_files}
-%defattr(-,root,root,-)
%doc AUTHORS.rst README.rst HISTORY.rst
-%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%%license LICENSE
-%else
-%doc LICENSE
-%endif
%{python_sitelib}/*
%changelog
++++++ logzero-1.4.0.tar.gz -> logzero-1.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/HISTORY.rst new/logzero-1.5.0/HISTORY.rst
--- old/logzero-1.4.0/HISTORY.rst 2018-03-02 18:02:56.000000000 +0100
+++ new/logzero-1.5.0/HISTORY.rst 2018-03-07 18:03:39.000000000 +0100
@@ -2,7 +2,12 @@
History
=======
-1.3.1 (2018-03-02)
+1.5.0 (2018-03-07)
+------------------
+* ``logzero.syslog(..)`` (`PR 83 https://github.com/metachris/logzero/pull/84`_)
+
+
+1.4.0 (2018-03-02)
------------------
* Allow Disabling stderr Output (`PR 83 https://github.com/metachris/logzero/pull/83`_)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/PKG-INFO new/logzero-1.5.0/PKG-INFO
--- old/logzero-1.4.0/PKG-INFO 2018-03-02 18:06:06.000000000 +0100
+++ new/logzero-1.5.0/PKG-INFO 2018-03-07 18:04:10.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: logzero
-Version: 1.4.0
+Version: 1.5.0
Summary: Robust and effective logging for Python 2 and 3
Home-page: https://github.com/metachris/logzero
Author: Chris Hager
@@ -25,9 +25,12 @@
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/metachris/logzero/shield.svg
- :target: https://pyup.io/repos/github/metachris/logzero/
- :alt: Updates
+ :target: https://pyup.io/repos/github/metachris/logzero/
+ :alt: Updates
+ .. image:: https://anaconda.org/conda-forge/logzero/badges/version.svg
+ :target: https://anaconda.org/conda-forge/logzero
+ :alt: Anaconda-Server Badge
Robust and effective logging for Python 2 and 3.
@@ -149,6 +152,13 @@
If you don't have `pip`_ installed, this `Python installation guide`_ can guide
you through the process.
+ Alternatively, if you use the `Anaconda distribution https://www.anaconda.com/download/`_:
+
+ .. code-block:: console
+
+ $ conda config --add channels conda-forge
+ $ conda install logzero
+
You can also install `logzero` from the public `Github repo`_:
.. code-block:: console
@@ -184,7 +194,12 @@
History
=======
- 1.3.1 (2018-03-02)
+ 1.5.0 (2018-03-07)
+ ------------------
+ * ``logzero.syslog(..)`` (`PR 83 https://github.com/metachris/logzero/pull/84`_)
+
+
+ 1.4.0 (2018-03-02)
------------------
* Allow Disabling stderr Output (`PR 83 https://github.com/metachris/logzero/pull/83`_)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/README.rst new/logzero-1.5.0/README.rst
--- old/logzero-1.4.0/README.rst 2018-03-02 18:02:56.000000000 +0100
+++ new/logzero-1.5.0/README.rst 2018-03-07 18:03:39.000000000 +0100
@@ -16,9 +16,12 @@
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/metachris/logzero/shield.svg
- :target: https://pyup.io/repos/github/metachris/logzero/
- :alt: Updates
+ :target: https://pyup.io/repos/github/metachris/logzero/
+ :alt: Updates
+.. image:: https://anaconda.org/conda-forge/logzero/badges/version.svg
+ :target: https://anaconda.org/conda-forge/logzero
+ :alt: Anaconda-Server Badge
Robust and effective logging for Python 2 and 3.
@@ -140,6 +143,13 @@
If you don't have `pip`_ installed, this `Python installation guide`_ can guide
you through the process.
+Alternatively, if you use the `Anaconda distribution https://www.anaconda.com/download/`_:
+
+.. code-block:: console
+
+ $ conda config --add channels conda-forge
+ $ conda install logzero
+
You can also install `logzero` from the public `Github repo`_:
.. code-block:: console
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/docs/index.rst new/logzero-1.5.0/docs/index.rst
--- old/logzero-1.4.0/docs/index.rst 2018-03-02 18:02:56.000000000 +0100
+++ new/logzero-1.5.0/docs/index.rst 2018-03-07 18:03:39.000000000 +0100
@@ -137,6 +137,8 @@
+-----------------------------------------+--------------------------------------------------+
| Disable logging to a logfile | `logzero.logfile(None) <#i-logzero-logfile>`_ |
+-----------------------------------------+--------------------------------------------------+
+| Log to syslog | `logzero.syslog(...) <#i-logzero-logfile>`_ |
++-----------------------------------------+--------------------------------------------------+
| Use a custom formatter | `logzero.formatter(..) <#i-logzero-formatter>`_ |
+-----------------------------------------+--------------------------------------------------+
@@ -168,6 +170,12 @@
# Disable logging to a file
logzero.logfile(None)
+ # Log to syslog, using default logzero logger and 'user' syslog facility
+ logzero.syslog()
+
+ # Log to syslog, using default logzero logger and 'local0' syslog facility
+ logzero.syslog(facility=SysLogHandler.LOG_LOCAL0)
+
# Set a custom formatter
formatter = logging.Formatter('%(name)s - %(asctime)-15s - %(levelname)s: %(message)s');
logzero.formatter(formatter)
@@ -195,27 +203,27 @@
logger3.info("info for logger 3")
-Adding custom handlers (eg. SysLogHandler)
+Adding custom handlers (eg. SocketHandler)
------------------------------------------
Since `logzero` uses the standard `Python logger object https://docs.python.org/2/library/logging.html#module-level-functions`_,
you can attach any `Python logging handlers https://docs.python.org/2/library/logging.handlers.html`_ you can imagine!
-This is how you add a `SysLogHandler https://docs.python.org/2/library/logging.handlers.html#sysloghandler`_:
+This is how you add a `SocketHandler https://docs.python.org/2/library/logging.handlers.html#sockethandler`_:
.. code-block:: python
import logzero
import logging
- from logging.handlers import SysLogHandler
+ from logging.handlers import SocketHandler
- # Setup the RotatingFileHandler
- syslog_handler = SysLogHandler(address=('localhost', logging.SYSLOG_UDP_PORT))
- syslog_handler.setLevel(logging.DEBUG)
- syslog_handler.setFormatter(logzero.LogFormatter(color=False))
+ # Setup the SocketHandler
+ socket_handler = SocketHandler(address=('localhost', logging.DEFAULT_TCP_LOGGING_PORT))
+ socket_handler.setLevel(logging.DEBUG)
+ socket_handler.setFormatter(logzero.LogFormatter(color=False))
# Attach it to the logzero default logger
- logzero.logger.addHandler(syslog_handler)
+ logzero.logger.addHandler(socket_handler)
# Log messages
logzero.logger.info("this is a test")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/logzero/__init__.py new/logzero-1.5.0/logzero/__init__.py
--- old/logzero-1.4.0/logzero/__init__.py 2018-03-02 18:02:56.000000000 +0100
+++ new/logzero-1.5.0/logzero/__init__.py 2018-03-07 18:03:39.000000000 +0100
@@ -39,7 +39,7 @@
import sys
import logging
from logzero.colors import Fore as ForegroundColors
-from logging.handlers import RotatingFileHandler
+from logging.handlers import RotatingFileHandler, SysLogHandler
try:
import curses # type: ignore
@@ -48,7 +48,7 @@
__author__ = """Chris Hager"""
__email__ = 'chris@linuxuser.at'
-__version__ = '1.4.0'
+__version__ = '1.5.0'
# Python 2+3 compatibility settings for logger
bytes_type = bytes
@@ -409,12 +409,7 @@
:arg bool disableStderrLogger: Should the default stderr logger be disabled. Defaults to False.
"""
# Step 1: If an internal RotatingFileHandler already exists, remove it
- for handler in list(logger.handlers):
- if hasattr(handler, LOGZERO_INTERNAL_LOGGER_ATTR):
- if isinstance(handler, RotatingFileHandler):
- logger.removeHandler(handler)
- elif isinstance(handler, logging.StreamHandler) and disableStderrLogger:
- logger.removeHandler(handler)
+ __remove_internal_loggers(logger, disableStderrLogger)
# Step 2: If wanted, add the RotatingFileHandler now
if filename:
@@ -431,6 +426,40 @@
logger.addHandler(rotating_filehandler)
+def __remove_internal_loggers(logger_to_update, disableStderrLogger=True):
+ """
+ Remove the internal loggers (e.g. stderr logger and file logger) from the specific logger
+ :param logger_to_update: the logger to remove internal loggers from
+ :param disableStderrLogger: should the default stderr logger be disabled? defaults to True
+ """
+ for handler in list(logger_to_update.handlers):
+ if hasattr(handler, LOGZERO_INTERNAL_LOGGER_ATTR):
+ if isinstance(handler, RotatingFileHandler):
+ logger_to_update.removeHandler(handler)
+ elif isinstance(handler, SysLogHandler):
+ logger_to_update.removeHandler(handler)
+ elif isinstance(handler, logging.StreamHandler) and disableStderrLogger:
+ logger_to_update.removeHandler(handler)
+
+
+def syslog(logger_to_update=logger, facility=SysLogHandler.LOG_USER, disableStderrLogger=True):
+ """
+ Setup logging to syslog and disable other internal loggers
+ :param logger_to_update: the logger to enable syslog logging for
+ :param facility: syslog facility to log to
+ :param disableStderrLogger: should the default stderr logger be disabled? defaults to True
+ :return the new SysLogHandler, which can be modified externally (e.g. for custom log level)
+ """
+ # remove internal loggers
+ __remove_internal_loggers(logger_to_update, disableStderrLogger)
+
+ # Setup logzero to only use the syslog handler with the specified facility
+ syslog_handler = SysLogHandler(facility=facility)
+ setattr(syslog_handler, LOGZERO_INTERNAL_LOGGER_ATTR, True)
+ logger_to_update.addHandler(syslog_handler)
+ return syslog_handler
+
+
def log_function_call(func):
@functools.wraps(func)
def wrap(*args, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/logzero.egg-info/PKG-INFO new/logzero-1.5.0/logzero.egg-info/PKG-INFO
--- old/logzero-1.4.0/logzero.egg-info/PKG-INFO 2018-03-02 18:06:06.000000000 +0100
+++ new/logzero-1.5.0/logzero.egg-info/PKG-INFO 2018-03-07 18:04:10.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: logzero
-Version: 1.4.0
+Version: 1.5.0
Summary: Robust and effective logging for Python 2 and 3
Home-page: https://github.com/metachris/logzero
Author: Chris Hager
@@ -25,9 +25,12 @@
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/metachris/logzero/shield.svg
- :target: https://pyup.io/repos/github/metachris/logzero/
- :alt: Updates
+ :target: https://pyup.io/repos/github/metachris/logzero/
+ :alt: Updates
+ .. image:: https://anaconda.org/conda-forge/logzero/badges/version.svg
+ :target: https://anaconda.org/conda-forge/logzero
+ :alt: Anaconda-Server Badge
Robust and effective logging for Python 2 and 3.
@@ -149,6 +152,13 @@
If you don't have `pip`_ installed, this `Python installation guide`_ can guide
you through the process.
+ Alternatively, if you use the `Anaconda distribution https://www.anaconda.com/download/`_:
+
+ .. code-block:: console
+
+ $ conda config --add channels conda-forge
+ $ conda install logzero
+
You can also install `logzero` from the public `Github repo`_:
.. code-block:: console
@@ -184,7 +194,12 @@
History
=======
- 1.3.1 (2018-03-02)
+ 1.5.0 (2018-03-07)
+ ------------------
+ * ``logzero.syslog(..)`` (`PR 83 https://github.com/metachris/logzero/pull/84`_)
+
+
+ 1.4.0 (2018-03-02)
------------------
* Allow Disabling stderr Output (`PR 83 https://github.com/metachris/logzero/pull/83`_)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/setup.cfg new/logzero-1.5.0/setup.cfg
--- old/logzero-1.4.0/setup.cfg 2018-03-02 18:06:06.000000000 +0100
+++ new/logzero-1.5.0/setup.cfg 2018-03-07 18:04:10.000000000 +0100
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 1.4.0
+current_version = 1.5.0
commit = True
tag = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/setup.py new/logzero-1.5.0/setup.py
--- old/logzero-1.4.0/setup.py 2018-03-02 18:02:56.000000000 +0100
+++ new/logzero-1.5.0/setup.py 2018-03-07 18:03:39.000000000 +0100
@@ -13,7 +13,7 @@
setup(
name='logzero',
- version='1.4.0',
+ version='1.5.0',
description="Robust and effective logging for Python 2 and 3",
long_description=readme + '\n\n' + history,
author="Chris Hager",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logzero-1.4.0/tests/test_logzero.py new/logzero-1.5.0/tests/test_logzero.py
--- old/logzero-1.4.0/tests/test_logzero.py 2018-03-02 18:02:56.000000000 +0100
+++ new/logzero-1.5.0/tests/test_logzero.py 2018-03-07 18:03:39.000000000 +0100
@@ -287,3 +287,15 @@
test_default_logger()
out, err = capsys.readouterr()
test_default_logger_output(err)
+
+
+def test_default_logger_syslog_only(capsys):
+ """
+ Run a test logging to ``syslog`` and confirm that no data is written to stderr.
+ Note that the output in syslog is not currently being captured or checked.
+ """
+ logzero.reset_default_logger()
+ logzero.syslog()
+ logzero.logger.error('debug')
+ out, err = capsys.readouterr()
+ assert out == '' and err == ''