Hello community,
here is the log from the commit of package python-oslo.log for openSUSE:Factory
checked in at 2019-05-03 22:42:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.log (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.log.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.log"
Fri May 3 22:42:22 2019 rev:15 rq:692858 version:3.42.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.log/python-oslo.log.changes
2019-01-24 14:15:21.499227731 +0100
+++
/work/SRC/openSUSE:Factory/.python-oslo.log.new.5148/python-oslo.log.changes
2019-05-03 22:42:24.167238462 +0200
@@ -1,0 +2,27 @@
+Mon Apr 8 11:07:31 UTC 2019 - [email protected]
+
+- update to version 3.42.3
+ - Add Windows Event Log handler
+ - Imported Translations from Zanata
+ - Update mailinglist from dev to discuss
+ - Clarify some config options
+ - Use template for lower-constraints
+ - import zuul job settings from project-config
+ - Always build universal wheels
+ - Add config options for log rotation
+ - Update reno for stable/rocky
+ - add python 3.6 unit test job
+ - Fix handling of exc_info in OSJournalHandler
+ - Default oslo.policy logging to INFO
+ - Advancing the protocal of the website to HTTPS in usage.rst.
+ - add lib-forward-testing-python3 test job
+ - Filter args dict in JSONFormatter
+ - Add devstack job with JSONFormatter configured
+ - Fix lower-constraints job
+ - Follow the new PTI for document build
+ - Migrate to stestr
+ - rewrite tests to not rely on implementation details of logging module
+ - Fix up nits in log rotation change
+ - Clean up .gitignore references to personal tools
+
+-------------------------------------------------------------------
Old:
----
oslo.log-3.39.2.tar.gz
New:
----
oslo.log-3.42.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.log.spec ++++++
--- /var/tmp/diff_new_pack.JJlmBe/_old 2019-05-03 22:42:24.579239330 +0200
+++ /var/tmp/diff_new_pack.JJlmBe/_new 2019-05-03 22:42:24.583239338 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-oslo.log
#
-# 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,58 +17,58 @@
Name: python-oslo.log
-Version: 3.39.2
+Version: 3.42.3
Release: 0
Summary: OpenStack log library
License: Apache-2.0
Group: Development/Languages/Python
URL: https://launchpad.net/oslo.log
-Source0:
https://files.pythonhosted.org/packages/source/o/oslo.log/oslo.log-3.39.2.tar.gz
+Source0:
https://files.pythonhosted.org/packages/source/o/oslo.log/oslo.log-3.42.3.tar.gz
BuildRequires: openstack-macros
BuildRequires: python-devel
BuildRequires: python2-mock
-BuildRequires: python2-monotonic >= 0.6
+BuildRequires: python2-monotonic >= 1.4
BuildRequires: python2-oslo.config >= 5.2.0
-BuildRequires: python2-oslo.context >= 2.19.2
-BuildRequires: python2-oslo.i18n >= 3.15.3
-BuildRequires: python2-oslo.serialization >= 2.18.0
-BuildRequires: python2-oslo.utils >= 3.33.0
+BuildRequires: python2-oslo.context >= 2.20.0
+BuildRequires: python2-oslo.i18n >= 3.20.0
+BuildRequires: python2-oslo.serialization >= 2.25.0
+BuildRequires: python2-oslo.utils >= 3.36.0
BuildRequires: python2-oslotest
-BuildRequires: python2-pbr >= 2.0.0
+BuildRequires: python2-pbr >= 3.1.1
BuildRequires: python2-pyinotify >= 0.9.6
-BuildRequires: python2-python-dateutil >= 2.5.3
+BuildRequires: python2-python-dateutil >= 2.7.0
BuildRequires: python2-python-subunit
-BuildRequires: python2-six >= 1.10.0
-BuildRequires: python2-testrepository
+BuildRequires: python2-six >= 1.11.0
+BuildRequires: python2-stestr
BuildRequires: python2-testscenarios
BuildRequires: python2-testtools
BuildRequires: python3-devel
BuildRequires: python3-mock
-BuildRequires: python3-monotonic >= 0.6
+BuildRequires: python3-monotonic >= 1.4
BuildRequires: python3-oslo.config >= 5.2.0
-BuildRequires: python3-oslo.context >= 2.19.2
-BuildRequires: python3-oslo.i18n >= 3.15.3
-BuildRequires: python3-oslo.serialization >= 2.18.0
-BuildRequires: python3-oslo.utils >= 3.33.0
+BuildRequires: python3-oslo.context >= 2.20.0
+BuildRequires: python3-oslo.i18n >= 3.20.0
+BuildRequires: python3-oslo.serialization >= 2.25.0
+BuildRequires: python3-oslo.utils >= 3.36.0
BuildRequires: python3-oslotest
-BuildRequires: python3-pbr >= 2.0.0
+BuildRequires: python3-pbr >= 3.1.1
BuildRequires: python3-pyinotify >= 0.9.6
-BuildRequires: python3-python-dateutil >= 2.5.3
+BuildRequires: python3-python-dateutil >= 2.7.0
BuildRequires: python3-python-subunit
-BuildRequires: python3-six >= 1.10.0
-BuildRequires: python3-testrepository
+BuildRequires: python3-six >= 1.11.0
+BuildRequires: python3-stestr
BuildRequires: python3-testscenarios
BuildRequires: python3-testtools
-Requires: python-debtcollector >= 1.2.0
-Requires: python-monotonic >= 0.6
+Requires: python-debtcollector >= 1.19.0
+Requires: python-monotonic >= 1.4
Requires: python-oslo.config >= 5.2.0
-Requires: python-oslo.context >= 2.19.2
-Requires: python-oslo.i18n >= 3.15.3
-Requires: python-oslo.serialization >= 2.18.0
-Requires: python-oslo.utils >= 3.33.0
+Requires: python-oslo.context >= 2.20.0
+Requires: python-oslo.i18n >= 3.20.0
+Requires: python-oslo.serialization >= 2.25.0
+Requires: python-oslo.utils >= 3.36.0
Requires: python-pyinotify >= 0.9.6
-Requires: python-python-dateutil >= 2.5.3
-Requires: python-six >= 1.10.0
+Requires: python-python-dateutil >= 2.7.0
+Requires: python-six >= 1.11.0
BuildArch: noarch
%if 0%{?suse_version}
Requires(post): update-alternatives
@@ -95,15 +95,14 @@
Documentation for the oslo.log library.
%prep
-%autosetup -p1 -n oslo.log-3.39.2
+%autosetup -p1 -n oslo.log-3.42.3
%py_req_cleanup
-sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
%build
%{python_build}
# generate html docs
-%{__python2} setup.py build_sphinx
+PYTHONPATH=. PBR_VERSION=3.42.3 sphinx-build -b html doc/source doc/build/html
rm -rf doc/build/html/.{doctrees,buildinfo}
%install
@@ -116,11 +115,6 @@
%postun
%python_uninstall_alternative convert-json
-%check
-%{python_expand rm -rf .testrepository
-$python setup.py testr
-}
-
%files %{python_files}
%license LICENSE
%doc ChangeLog README.rst
++++++ _service ++++++
--- /var/tmp/diff_new_pack.JJlmBe/_old 2019-05-03 22:42:24.603239380 +0200
+++ /var/tmp/diff_new_pack.JJlmBe/_new 2019-05-03 22:42:24.603239380 +0200
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/rocky/openstack/oslo.log/oslo.log.spec.j2</param>
+ <param
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/stein/openstack/oslo.log/oslo.log.spec.j2</param>
<param name="output-name">python-oslo.log.spec</param>
- <param
name="requirements">https://raw.githubusercontent.com/openstack/oslo.log/stable/rocky/requirements.txt</param>
+ <param
name="requirements">https://raw.githubusercontent.com/openstack/oslo.log/stable/stein/requirements.txt</param>
<param name="changelog-email">[email protected]</param>
<param name="changelog-provider">gh,openstack,oslo.log</param>
</service>
++++++ oslo.log-3.39.2.tar.gz -> oslo.log-3.42.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/.stestr.conf
new/oslo.log-3.42.3/.stestr.conf
--- old/oslo.log-3.39.2/.stestr.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.log-3.42.3/.stestr.conf 2019-02-26 01:06:43.000000000 +0100
@@ -0,0 +1,3 @@
+[DEFAULT]
+test_path=./oslo_log/tests/unit
+top_dir=./
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/.testr.conf
new/oslo.log-3.42.3/.testr.conf
--- old/oslo.log-3.39.2/.testr.conf 2018-09-25 21:44:42.000000000 +0200
+++ new/oslo.log-3.42.3/.testr.conf 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-[DEFAULT]
-test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
- OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
- OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
- ${PYTHON:-python} -m subunit.run discover -t ./ ./oslo_log
$LISTOPT $IDOPTION
-test_id_option=--load-list $IDFILE
-test_list_option=--list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/.zuul.yaml
new/oslo.log-3.42.3/.zuul.yaml
--- old/oslo.log-3.39.2/.zuul.yaml 2018-09-25 21:44:42.000000000 +0200
+++ new/oslo.log-3.42.3/.zuul.yaml 2019-02-26 01:06:43.000000000 +0100
@@ -13,20 +13,51 @@
run: playbooks/legacy/oslo.log-src-grenade-devstack/run.yaml
timeout: 10800
+- job:
+ name: oslo.log-jsonformatter
+ parent: devstack-tempest
+ timeout: 10800
+ vars:
+ devstack_local_conf:
+ post-config:
+ $NOVA_CONF:
+ DEFAULT:
+ use_json: True
+ $NEUTRON_CONF:
+ DEFAULT:
+ use_json: True
+ $GLANCE_CONF:
+ DEFAULT:
+ use_json: True
+ $CINDER_CONF:
+ DEFAULT:
+ use_json: True
+ $KEYSTONE_CONF:
+ DEFAULT:
+ use_json: True
+ irrelevant-files:
+ - ^.*\.rst$
+ - ^api-ref/.*$
+ - ^doc/.*$
+ - ^releasenotes/.*$
+
+
- project:
check:
jobs:
- oslo.log-src-grenade-devstack
-
- - openstack-tox-lower-constraints
+ - oslo.log-jsonformatter
gate:
jobs:
- - openstack-tox-lower-constraints
+ - oslo.log-jsonformatter
templates:
+ - check-requirements
+ - lib-forward-testing
+ - lib-forward-testing-python3
+ - openstack-lower-constraints-jobs
- openstack-python-jobs
- openstack-python35-jobs
+ - openstack-python36-jobs
+ - periodic-stable-jobs
- publish-openstack-docs-pti
- - check-requirements
- - lib-forward-testing
- release-notes-jobs-python3
- - periodic-stable-jobs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/AUTHORS new/oslo.log-3.42.3/AUTHORS
--- old/oslo.log-3.39.2/AUTHORS 2018-09-25 21:47:35.000000000 +0200
+++ new/oslo.log-3.42.3/AUTHORS 2019-02-26 01:09:15.000000000 +0100
@@ -29,6 +29,7 @@
Cyril Roelandt <[email protected]>
Daisuke Fujita <[email protected]>
Dan Prince <[email protected]>
+Daniel Vincze <[email protected]>
Davanum Srinivas <[email protected]>
Davanum Srinivas <[email protected]>
David Stanek <[email protected]>
@@ -53,6 +54,7 @@
Gage Hugo <[email protected]>
Gary Kotton <[email protected]>
Gorka Eguileor <[email protected]>
+Hervé Beraud <[email protected]>
Ian Cordasco <[email protected]>
Ihar Hrachyshka <[email protected]>
James Carey <[email protected]>
@@ -92,6 +94,7 @@
Masaki Matsushita <[email protected]>
Mate Lakat <[email protected]>
Matt Odden <[email protected]>
+Matt Riedemann <[email protected]>
Michael Basnight <[email protected]>
Michael Kerrin <[email protected]>
Michael Still <[email protected]>
@@ -102,7 +105,9 @@
Morgan Fainberg <[email protected]>
Nam Nguyen Hoai <[email protected]>
Nataliia Uvarova <[email protected]>
+Nikita Gerasimov <[email protected]>
OpenStack Release Bot <[email protected]>
+Pavlo Shchelokovskyy <[email protected]>
Pádraig Brady <[email protected]>
Radomir Dopieralski <[email protected]>
Rajesh Tailor <[email protected]>
@@ -140,7 +145,6 @@
Zhiteng Huang <[email protected]>
ZhongShengping <[email protected]>
Zhongyue Luo <[email protected]>
-Zuul <[email protected]>
abhishekkekane <[email protected]>
avnish <[email protected]>
eeldill <[email protected]>
@@ -160,3 +164,4 @@
wangqi <[email protected]>
yan.haifeng <[email protected]>
zhang-jinnan <[email protected]>
+zhouxinyong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/ChangeLog
new/oslo.log-3.42.3/ChangeLog
--- old/oslo.log-3.39.2/ChangeLog 2018-09-25 21:47:34.000000000 +0200
+++ new/oslo.log-3.42.3/ChangeLog 2019-02-26 01:09:15.000000000 +0100
@@ -1,13 +1,51 @@
CHANGES
=======
-3.39.2
+3.42.3
+------
+
+* Clarify some config options
+
+3.42.2
+------
+
+* Use template for lower-constraints
+
+3.42.1
+------
+
+* Default oslo.policy logging to INFO
+* Update mailinglist from dev to discuss
+* Fix handling of exc\_info in OSJournalHandler
+* Fix up nits in log rotation change
+
+3.42.0
+------
+
+* Add config options for log rotation
+* Advancing the protocal of the website to HTTPS in usage.rst
+
+3.41.0
+------
+
+* Add Windows Event Log handler
+* Clean up .gitignore references to personal tools
+* Always build universal wheels
+* Add devstack job with JSONFormatter configured
+
+3.40.1
------
* Filter args dict in JSONFormatter
+* add lib-forward-testing-python3 test job
+* add python 3.6 unit test job
+* rewrite tests to not rely on implementation details of logging module
* import zuul job settings from project-config
-* Update UPPER\_CONSTRAINTS\_FILE for stable/rocky
-* Update .gitreview for stable/rocky
+* Follow the new PTI for document build
+* Migrate to stestr
+* Fix lower-constraints job
+* Imported Translations from Zanata
+* Update reno for stable/rocky
3.39.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/PKG-INFO new/oslo.log-3.42.3/PKG-INFO
--- old/oslo.log-3.39.2/PKG-INFO 2018-09-25 21:47:36.000000000 +0200
+++ new/oslo.log-3.42.3/PKG-INFO 2019-02-26 01:09:16.000000000 +0100
@@ -1,10 +1,10 @@
Metadata-Version: 2.1
Name: oslo.log
-Version: 3.39.2
+Version: 3.42.3
Summary: oslo.log library
Home-page: https://docs.openstack.org/oslo.log/latest
Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
License: UNKNOWN
Description: ========================
Team and repository tags
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/RELEASENOTES.rst
new/oslo.log-3.42.3/RELEASENOTES.rst
--- old/oslo.log-3.39.2/RELEASENOTES.rst 2018-09-25 21:47:36.000000000
+0200
+++ new/oslo.log-3.42.3/RELEASENOTES.rst 1970-01-01 01:00:00.000000000
+0100
@@ -1,3 +0,0 @@
-========
-oslo.log
-========
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/doc/requirements.txt
new/oslo.log-3.42.3/doc/requirements.txt
--- old/oslo.log-3.39.2/doc/requirements.txt 1970-01-01 01:00:00.000000000
+0100
+++ new/oslo.log-3.42.3/doc/requirements.txt 2019-02-26 01:06:43.000000000
+0100
@@ -0,0 +1,7 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+openstackdocstheme>=1.18.1 # Apache-2.0
+reno>=2.5.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/doc/source/admin/index.rst
new/oslo.log-3.42.3/doc/source/admin/index.rst
--- old/oslo.log-3.39.2/doc/source/admin/index.rst 2018-09-25
21:44:30.000000000 +0200
+++ new/oslo.log-3.42.3/doc/source/admin/index.rst 2019-02-26
01:06:43.000000000 +0100
@@ -7,3 +7,4 @@
advanced_config
journal
+ log_rotation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/doc/source/admin/journal.rst
new/oslo.log-3.42.3/doc/source/admin/journal.rst
--- old/oslo.log-3.39.2/doc/source/admin/journal.rst 2018-09-25
21:44:30.000000000 +0200
+++ new/oslo.log-3.42.3/doc/source/admin/journal.rst 2019-02-26
01:06:43.000000000 +0100
@@ -155,4 +155,4 @@
- The guide for using systemd in devstack provides additional examples
of effective journalctl queries -
- http://git.openstack.org/cgit/openstack-dev/devstack/tree/SYSTEMD.rst
+ https://git.openstack.org/cgit/openstack-dev/devstack/tree/SYSTEMD.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/doc/source/admin/log_rotation.rst
new/oslo.log-3.42.3/doc/source/admin/log_rotation.rst
--- old/oslo.log-3.39.2/doc/source/admin/log_rotation.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.log-3.42.3/doc/source/admin/log_rotation.rst 2019-02-26
01:06:43.000000000 +0100
@@ -0,0 +1,45 @@
+=============
+ Log rotation
+=============
+
+oslo.log can work with ``logrotate``, picking up file changes once log files
+are rotated. Make sure to set the ``watch-log-file`` config option.
+
+Log rotation on Windows
+-----------------------
+
+On Windows, in-use files cannot be renamed or moved. For this reason,
+oslo.log allows setting maximum log file sizes or log rotation interval,
+in which case the service itself will take care of the log rotation (as
+opposed to having an external daemon).
+
+Configuring log rotation
+------------------------
+
+Use the following options to set a maximum log file size. In this sample,
+log files will be rotated when reaching 1GB, having at most 30 log files.
+
+.. code-block:: ini
+
+ [DEFAULT]
+ log_rotation_type = size
+ max_logfile_size_mb = 1024 # MB
+ max_logfile_count = 30
+
+The following sample configures log rotation to be performed every 12 hours.
+
+.. code-block:: ini
+
+ [DEFAULT]
+ log_rotation_type = interval
+ log_rotate_interval = 12
+ log_rotate_interval_type = Hours
+ max_logfile_count = 60
+
+.. note::
+
+ The time of the next rotation is computed when the service starts or when a
+ log rotation is performed, using the time of the last file modification or
+ the service start time, to which the configured log rotation interval is
+ added. This means that service restarts may delay periodic log file
+ rotations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/doc/source/user/examples.rst
new/oslo.log-3.42.3/doc/source/user/examples.rst
--- old/oslo.log-3.39.2/doc/source/user/examples.rst 2018-09-25
21:44:30.000000000 +0200
+++ new/oslo.log-3.42.3/doc/source/user/examples.rst 2019-02-26
01:06:43.000000000 +0100
@@ -8,7 +8,7 @@
the git source of this project. They can also be found in the
`online git repository`_ of this project.
-.. _online git repository:
http://git.openstack.org/cgit/openstack/oslo.log/tree/doc/source/examples
+.. _online git repository:
https://git.openstack.org/cgit/openstack/oslo.log/tree/doc/source/examples
python_logging.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/doc/source/user/migration.rst
new/oslo.log-3.42.3/doc/source/user/migration.rst
--- old/oslo.log-3.39.2/doc/source/user/migration.rst 2018-09-25
21:44:30.000000000 +0200
+++ new/oslo.log-3.42.3/doc/source/user/migration.rst 2019-02-26
01:06:43.000000000 +0100
@@ -23,7 +23,7 @@
level anyway, so those calls should be replaced with calls to
``info()``.
-.. _cross project spec:
http://git.openstack.org/cgit/openstack/openstack-specs/tree/specs/log-guidelines.rst
+.. _cross project spec:
https://git.openstack.org/cgit/openstack/openstack-specs/tree/specs/log-guidelines.rst
Deprecation tools moved to ``versionutils``
-------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/doc/source/user/usage.rst
new/oslo.log-3.42.3/doc/source/user/usage.rst
--- old/oslo.log-3.39.2/doc/source/user/usage.rst 2018-09-25
21:44:30.000000000 +0200
+++ new/oslo.log-3.42.3/doc/source/user/usage.rst 2019-02-26
01:06:43.000000000 +0100
@@ -88,7 +88,7 @@
Logging within an application should use `Oslo International Utilities
(i18n)`_ marker
functions to provide language translation capabilities.
-.. _Oslo International Utilities (i18n):
http://docs.openstack.org/oslo.i18n/latest
+.. _Oslo International Utilities (i18n):
https://docs.openstack.org/oslo.i18n/latest
.. literalinclude:: examples/usage_i18n.py
:linenos:
@@ -100,7 +100,7 @@
With the use of `Oslo Context`_, log records can also contain
additional contextual information applicable for your application.
-.. _Oslo Context: http://docs.openstack.org/oslo.context/latest
+.. _Oslo Context: https://docs.openstack.org/oslo.context/latest
.. literalinclude:: examples/usage_context.py
:linenos:
@@ -152,7 +152,7 @@
explain how to use different logging levels, and the desired logging
patterns to be used in OpenStack applications.
-.. _OpenStack Logging Guidelines:
http://specs.openstack.org/openstack/openstack-specs/specs/log-guidelines.html
+.. _OpenStack Logging Guidelines:
https://specs.openstack.org/openstack/openstack-specs/specs/log-guidelines.html
In a Library
============
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/lower-constraints.txt
new/oslo.log-3.42.3/lower-constraints.txt
--- old/oslo.log-3.39.2/lower-constraints.txt 2018-09-25 21:44:42.000000000
+0200
+++ new/oslo.log-3.42.3/lower-constraints.txt 2019-02-26 01:06:43.000000000
+0100
@@ -59,7 +59,9 @@
snowballstemmer==1.2.1
Sphinx==1.6.5
sphinxcontrib-websupport==1.0.1
+stestr==2.0.0
stevedore==1.28.0
+systemd-python==234
testrepository==0.0.20
testtools==2.3.0
traceback2==1.4.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo.log.egg-info/PKG-INFO
new/oslo.log-3.42.3/oslo.log.egg-info/PKG-INFO
--- old/oslo.log-3.39.2/oslo.log.egg-info/PKG-INFO 2018-09-25
21:47:35.000000000 +0200
+++ new/oslo.log-3.42.3/oslo.log.egg-info/PKG-INFO 2019-02-26
01:09:15.000000000 +0100
@@ -1,10 +1,10 @@
Metadata-Version: 2.1
Name: oslo.log
-Version: 3.39.2
+Version: 3.42.3
Summary: oslo.log library
Home-page: https://docs.openstack.org/oslo.log/latest
Author: OpenStack
-Author-email: [email protected]
+Author-email: [email protected]
License: UNKNOWN
Description: ========================
Team and repository tags
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo.log.egg-info/SOURCES.txt
new/oslo.log-3.42.3/oslo.log.egg-info/SOURCES.txt
--- old/oslo.log-3.39.2/oslo.log.egg-info/SOURCES.txt 2018-09-25
21:47:35.000000000 +0200
+++ new/oslo.log-3.42.3/oslo.log.egg-info/SOURCES.txt 2019-02-26
01:09:16.000000000 +0100
@@ -1,6 +1,6 @@
.coveragerc
.mailmap
-.testr.conf
+.stestr.conf
.zuul.yaml
AUTHORS
CONTRIBUTING.rst
@@ -15,12 +15,14 @@
setup.py
test-requirements.txt
tox.ini
+doc/requirements.txt
doc/source/conf.py
doc/source/index.rst
doc/source/admin/advanced_config.rst
doc/source/admin/example_nova.rst
doc/source/admin/index.rst
doc/source/admin/journal.rst
+doc/source/admin/log_rotation.rst
doc/source/admin/nova_sample.conf
doc/source/configuration/index.rst
doc/source/contributor/index.rst
@@ -94,6 +96,7 @@
releasenotes/notes/info-logging-7b7be9fc7a95aebc.yaml
releasenotes/notes/is_debug_enabled-d7afee4c811a46df.yaml
releasenotes/notes/jsonformatter-repr-fd616eb6fa6caeb3.yaml
+releasenotes/notes/log-rotation-595f8232cd987a6d.yaml
releasenotes/notes/reload_log_config-743817192b1172b6.yaml
releasenotes/notes/remove-log-format-b4b949701cee3315.yaml
releasenotes/notes/remove-syslog-rfc-format-7a06772c0bb48e9b.yaml
@@ -101,6 +104,7 @@
releasenotes/notes/systemd-journal-support-fcbc34b3c5ce93ec.yaml
releasenotes/notes/use-json-option-96f71da54a3b9a18.yaml
releasenotes/notes/use_stderr_default_false-50d846b88cf2be90.yaml
+releasenotes/notes/windows-eventlog-2beb0a6010e342eb.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/liberty.rst
@@ -109,6 +113,7 @@
releasenotes/source/ocata.rst
releasenotes/source/pike.rst
releasenotes/source/queens.rst
+releasenotes/source/rocky.rst
releasenotes/source/unreleased.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo.log.egg-info/pbr.json
new/oslo.log-3.42.3/oslo.log.egg-info/pbr.json
--- old/oslo.log-3.39.2/oslo.log.egg-info/pbr.json 2018-09-25
21:47:35.000000000 +0200
+++ new/oslo.log-3.42.3/oslo.log.egg-info/pbr.json 2019-02-26
01:09:15.000000000 +0100
@@ -1 +1 @@
-{"git_version": "871d2df", "is_release": true}
\ No newline at end of file
+{"git_version": "7c5f836", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo.log.egg-info/requires.txt
new/oslo.log-3.42.3/oslo.log.egg-info/requires.txt
--- old/oslo.log-3.39.2/oslo.log.egg-info/requires.txt 2018-09-25
21:47:35.000000000 +0200
+++ new/oslo.log-3.42.3/oslo.log.egg-info/requires.txt 2019-02-26
01:09:15.000000000 +0100
@@ -1,14 +1,16 @@
-pbr!=2.1.0,>=2.0.0
-six>=1.10.0
+pbr>=3.1.1
+six>=1.11.0
oslo.config>=5.2.0
-oslo.context>=2.19.2
-oslo.i18n>=3.15.3
-oslo.utils>=3.33.0
-oslo.serialization!=2.19.1,>=2.18.0
-debtcollector>=1.2.0
+oslo.context>=2.20.0
+oslo.i18n>=3.20.0
+oslo.utils>=3.36.0
+oslo.serialization>=2.25.0
+debtcollector>=1.19.0
+python-dateutil>=2.7.0
+monotonic>=1.4
+
+[:(sys_platform!='win32' and sys_platform!='darwin' and
sys_platform!='sunos5')]
pyinotify>=0.9.6
-python-dateutil>=2.5.3
-monotonic>=0.6
[fixtures]
fixtures>=3.0.0
@@ -18,12 +20,9 @@
[test]
hacking!=0.13.0,<0.14,>=0.12.0
-testrepository>=0.0.18
-testtools>=2.2.0
+stestr>=2.0.0
+testtools>=2.3.0
mock>=2.0.0
-oslotest>=3.2.0
-coverage!=4.4,>=4.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2
-openstackdocstheme>=1.18.1
-reno>=2.5.0
+oslotest>=3.3.0
+coverage>=4.5.1
bandit>=1.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo_log/_options.py
new/oslo.log-3.42.3/oslo_log/_options.py
--- old/oslo.log-3.39.2/oslo_log/_options.py 2018-09-25 21:44:30.000000000
+0200
+++ new/oslo.log-3.42.3/oslo_log/_options.py 2019-02-26 01:06:43.000000000
+0100
@@ -27,6 +27,7 @@
'keystonemiddleware=WARN', 'routes.middleware=WARN',
'stevedore=WARN', 'taskflow=WARN',
'keystoneauth=WARN', 'oslo.cache=INFO',
+ 'oslo_policy=INFO',
'dogpile.core.dogpile=INFO']
_IGNORE_MESSAGE = "This option is ignored if log_config_append is set."
@@ -52,7 +53,7 @@
'when logging configuration files are used then all '
'logging configuration is set in the configuration file '
'and other logging configuration options are ignored '
- '(for example, logging_context_format_string).'),
+ '(for example, log-date-format).'),
cfg.StrOpt('log-date-format',
default=_DEFAULT_LOG_DATE_FORMAT,
metavar='DATE_FORMAT',
@@ -108,6 +109,38 @@
default=False,
help='Log output to standard error. '
+ _IGNORE_MESSAGE),
+ cfg.BoolOpt('use_eventlog',
+ default=False,
+ help='Log output to Windows Event Log.'),
+ cfg.IntOpt('log_rotate_interval',
+ default=1,
+ help='The amount of time before the log files are rotated. '
+ 'This option is ignored unless log_rotation_type is set'
+ 'to "interval".'),
+ cfg.StrOpt('log_rotate_interval_type',
+ choices=['Seconds', 'Minutes', 'Hours', 'Days', 'Weekday',
+ 'Midnight'],
+ ignore_case=True,
+ default='days',
+ help='Rotation interval type. The time of the last file '
+ 'change (or the time when the service was started) is '
+ 'used when scheduling the next rotation.'),
+ cfg.IntOpt('max_logfile_count',
+ default=30,
+ help='Maximum number of rotated log files.'),
+ cfg.IntOpt('max_logfile_size_mb',
+ default=200,
+ help='Log file maximum size in MB. This option is ignored if '
+ '"log_rotation_type" is not set to "size".'),
+ cfg.StrOpt('log_rotation_type',
+ default='none',
+ choices=[('interval',
+ 'Rotate logs at predefined time intervals.'),
+ ('size',
+ 'Rotate logs once they reach a predefined size.'),
+ ('none', 'Do not rotate log files.')],
+ ignore_case=True,
+ help='Log rotation type.')
]
log_opts = [
@@ -115,25 +148,30 @@
default='%(asctime)s.%(msecs)03d %(process)d %(levelname)s '
'%(name)s [%(request_id)s %(user_identity)s] '
'%(instance)s%(message)s',
- help='Format string to use for log messages with context.'),
+ help='Format string to use for log messages with context. '
+ 'Used by oslo_log.formatters.ContextFormatter'),
cfg.StrOpt('logging_default_format_string',
default='%(asctime)s.%(msecs)03d %(process)d %(levelname)s '
'%(name)s [-] %(instance)s%(message)s',
help='Format string to use for log messages when context is '
- 'undefined.'),
+ 'undefined. '
+ 'Used by oslo_log.formatters.ContextFormatter'),
cfg.StrOpt('logging_debug_format_suffix',
default='%(funcName)s %(pathname)s:%(lineno)d',
help='Additional data to append to log message when logging '
- 'level for the message is DEBUG.'),
+ 'level for the message is DEBUG. '
+ 'Used by oslo_log.formatters.ContextFormatter'),
cfg.StrOpt('logging_exception_prefix',
default='%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s '
'%(instance)s',
- help='Prefix each line of exception output with this format.'),
+ help='Prefix each line of exception output with this format. '
+ 'Used by oslo_log.formatters.ContextFormatter'),
cfg.StrOpt('logging_user_identity_format',
default='%(user)s %(tenant)s '
'%(domain)s %(user_domain)s %(project_domain)s',
help='Defines the format string for %(user_identity)s that '
- 'is used in logging_context_format_string.'),
+ 'is used in logging_context_format_string. '
+ 'Used by oslo_log.formatters.ContextFormatter'),
cfg.ListOpt('default_log_levels',
default=DEFAULT_LOG_LEVELS,
help='List of package logging levels in logger=LEVEL pairs. '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo_log/handlers.py
new/oslo.log-3.42.3/oslo_log/handlers.py
--- old/oslo.log-3.39.2/oslo_log/handlers.py 2018-09-25 21:44:30.000000000
+0200
+++ new/oslo.log-3.42.3/oslo_log/handlers.py 2019-02-26 01:06:43.000000000
+0100
@@ -131,12 +131,17 @@
'PRIORITY': priority
}
+ if record.exc_info:
+ # Cache the traceback text to avoid converting it multiple times
+ # (it's constant anyway)
+ if not record.exc_text:
+ record.exc_text = self.formatter.formatException(
+ record.exc_info)
if record.exc_text:
+ extras['EXCEPTION_INFO'] = record.exc_text
+ # Leave EXCEPTION_TEXT for backward compatibility
extras['EXCEPTION_TEXT'] = record.exc_text
- if record.exc_info:
- extras['EXCEPTION_INFO'] = record.exc_info
-
for field in self.custom_fields:
value = record.__dict__.get(field)
if value:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo_log/log.py
new/oslo.log-3.42.3/oslo_log/log.py
--- old/oslo.log-3.39.2/oslo_log/log.py 2018-09-25 21:44:30.000000000 +0200
+++ new/oslo.log-3.42.3/oslo_log/log.py 2019-02-26 01:06:43.000000000 +0100
@@ -40,6 +40,7 @@
from oslo_config import cfg
from oslo_utils import importutils
+from oslo_utils import units
import six
from six import moves
@@ -60,6 +61,15 @@
logging.addLevelName(TRACE, 'TRACE')
+LOG_ROTATE_INTERVAL_MAPPING = {
+ 'seconds': 's',
+ 'minutes': 'm',
+ 'hours': 'h',
+ 'days': 'd',
+ 'weekday': 'w',
+ 'midnight': 'midnight'
+}
+
def _get_log_file_path(conf, binary=None):
logfile = conf.log_file
@@ -344,13 +354,33 @@
logpath = _get_log_file_path(conf)
if logpath:
+ # On Windows, in-use files cannot be moved or deleted.
if conf.watch_log_file and platform.system() == 'Linux':
from oslo_log import watchers
file_handler = watchers.FastWatchedFileHandler
+ filelog = file_handler(logpath)
+ elif conf.log_rotation_type.lower() == "interval":
+ file_handler = logging.handlers.TimedRotatingFileHandler
+ when = conf.log_rotate_interval_type.lower()
+ interval_type = LOG_ROTATE_INTERVAL_MAPPING[when]
+ # When weekday is configured, "when" has to be a value between
+ # 'w0'-'w6' (w0 for Monday, w1 for Tuesday, and so on)'
+ if interval_type == 'w':
+ interval_type = interval_type + str(conf.log_rotate_interval)
+ filelog = file_handler(logpath,
+ when=interval_type,
+ interval=conf.log_rotate_interval,
+ backupCount=conf.max_logfile_count)
+ elif conf.log_rotation_type.lower() == "size":
+ file_handler = logging.handlers.RotatingFileHandler
+ maxBytes = conf.max_logfile_size_mb * units.Mi
+ filelog = file_handler(logpath,
+ maxBytes=maxBytes,
+ backupCount=conf.max_logfile_count)
else:
file_handler = logging.handlers.WatchedFileHandler
+ filelog = file_handler(logpath)
- filelog = file_handler(logpath)
log_root.addHandler(filelog)
if conf.use_stderr:
@@ -361,6 +391,14 @@
journal = handlers.OSJournalHandler()
log_root.addHandler(journal)
+ if conf.use_eventlog:
+ if platform.system() == 'Windows':
+ eventlog = logging.handlers.NTEventLogHandler(project)
+ log_root.addHandler(eventlog)
+ else:
+ raise RuntimeError(_("Windows Event Log is not available on this "
+ "platform."))
+
# if None of the above are True, then fall back to standard out
if not logpath and not conf.use_stderr and not conf.use_journal:
# pass sys.stdout as a positional argument
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/oslo_log/tests/unit/test_log.py
new/oslo.log-3.42.3/oslo_log/tests/unit/test_log.py
--- old/oslo.log-3.39.2/oslo_log/tests/unit/test_log.py 2018-09-25
21:44:42.000000000 +0200
+++ new/oslo.log-3.42.3/oslo_log/tests/unit/test_log.py 2019-02-26
01:06:43.000000000 +0100
@@ -47,6 +47,7 @@
from oslo_log import formatters
from oslo_log import handlers
from oslo_log import log
+from oslo_utils import units
MIN_LOG_INI = b"""[loggers]
@@ -107,6 +108,7 @@
'%(message)s')
self.log = None
log._setup_logging_from_conf(self.config_fixture.conf, 'test', 'test')
+ self.log_handlers = log.getLogger(None).logger.handlers
def test_handlers_have_context_formatter(self):
formatters_list = []
@@ -140,6 +142,77 @@
'info', 'debug', 'log'):
self.assertRaises(AttributeError, getattr, log, func)
+ @mock.patch('platform.system', return_value='Linux')
+ def test_eventlog_missing(self, platform_mock):
+ self.config(use_eventlog=True)
+ self.assertRaises(RuntimeError,
+ log._setup_logging_from_conf,
+ self.CONF,
+ 'test',
+ 'test')
+
+ @mock.patch('platform.system', return_value='Windows')
+ @mock.patch('logging.handlers.NTEventLogHandler')
+ @mock.patch('oslo_log.log.getLogger')
+ def test_eventlog(self, loggers_mock, handler_mock, platform_mock):
+ self.config(use_eventlog=True)
+ log._setup_logging_from_conf(self.CONF, 'test', 'test')
+ handler_mock.assert_called_once_with('test')
+ mock_logger = loggers_mock.return_value.logger
+ mock_logger.addHandler.assert_any_call(handler_mock.return_value)
+
+ @mock.patch('oslo_log.watchers.FastWatchedFileHandler')
+ @mock.patch('oslo_log.log._get_log_file_path', return_value='test.conf')
+ @mock.patch('platform.system', return_value='Linux')
+ def test_watchlog_on_linux(self, platfotm_mock, path_mock, handler_mock):
+ self.config(watch_log_file=True)
+ log._setup_logging_from_conf(self.CONF, 'test', 'test')
+ handler_mock.assert_called_once_with(path_mock.return_value)
+ self.assertEqual(self.log_handlers[0], handler_mock.return_value)
+
+ @mock.patch('logging.handlers.WatchedFileHandler')
+ @mock.patch('oslo_log.log._get_log_file_path', return_value='test.conf')
+ @mock.patch('platform.system', return_value='Windows')
+ def test_watchlog_on_windows(self, platform_mock, path_mock, handler_mock):
+ self.config(watch_log_file=True)
+ log._setup_logging_from_conf(self.CONF, 'test', 'test')
+ handler_mock.assert_called_once_with(path_mock.return_value)
+ self.assertEqual(self.log_handlers[0], handler_mock.return_value)
+
+ @mock.patch('logging.handlers.TimedRotatingFileHandler')
+ @mock.patch('oslo_log.log._get_log_file_path', return_value='test.conf')
+ def test_timed_rotate_log(self, path_mock, handler_mock):
+ rotation_type = 'interval'
+ when = 'weekday'
+ interval = 2
+ backup_count = 2
+ self.config(log_rotation_type=rotation_type,
+ log_rotate_interval=interval,
+ log_rotate_interval_type=when,
+ max_logfile_count=backup_count)
+ log._setup_logging_from_conf(self.CONF, 'test', 'test')
+ handler_mock.assert_called_once_with(path_mock.return_value,
+ when='w2',
+ interval=interval,
+ backupCount=backup_count)
+ self.assertEqual(self.log_handlers[0], handler_mock.return_value)
+
+ @mock.patch('logging.handlers.RotatingFileHandler')
+ @mock.patch('oslo_log.log._get_log_file_path', return_value='test.conf')
+ def test_rotate_log(self, path_mock, handler_mock):
+ rotation_type = 'size'
+ max_logfile_size_mb = 100
+ maxBytes = max_logfile_size_mb * units.Mi
+ backup_count = 2
+ self.config(log_rotation_type=rotation_type,
+ max_logfile_size_mb=max_logfile_size_mb,
+ max_logfile_count=backup_count)
+ log._setup_logging_from_conf(self.CONF, 'test', 'test')
+ handler_mock.assert_called_once_with(path_mock.return_value,
+ maxBytes=maxBytes,
+ backupCount=backup_count)
+ self.assertEqual(self.log_handlers[0], handler_mock.return_value)
+
class LoggerTestCase(CommonLoggerTestsMixIn, test_base.BaseTestCase):
def setUp(self):
@@ -327,7 +400,6 @@
local_context = _fake_new_context()
l.info("Foo", context=local_context)
self.assertEqual(
- self.journal.send.call_args,
mock.call(mock.ANY, CODE_FILE=mock.ANY, CODE_FUNC='test_emit',
CODE_LINE=mock.ANY, LOGGER_LEVEL='INFO',
LOGGER_NAME='nova-test.foo', PRIORITY=6,
@@ -336,7 +408,17 @@
PROJECT_NAME='mytenant',
PROCESS_NAME='MainProcess',
THREAD_NAME='MainThread',
- USER_NAME='myuser'))
+ USER_NAME='myuser'),
+ self.journal.send.call_args)
+ args, kwargs = self.journal.send.call_args
+ self.assertEqual(len(args), 1)
+ self.assertIsInstance(args[0], six.string_types)
+ self.assertIsInstance(kwargs['CODE_LINE'], int)
+ self.assertIsInstance(kwargs['PRIORITY'], int)
+ del kwargs['CODE_LINE'], kwargs['PRIORITY']
+ for key, arg in kwargs.items():
+ self.assertIsInstance(key, six.string_types)
+ self.assertIsInstance(arg, six.string_types + (six.binary_type,))
def test_emit_exception(self):
l = log.getLogger('nova-exception.foo')
@@ -346,7 +428,6 @@
except Exception:
l.exception("Foo", context=local_context)
self.assertEqual(
- self.journal.send.call_args,
mock.call(mock.ANY, CODE_FILE=mock.ANY,
CODE_FUNC='test_emit_exception',
CODE_LINE=mock.ANY, LOGGER_LEVEL='ERROR',
@@ -358,7 +439,17 @@
PROJECT_NAME='mytenant',
PROCESS_NAME='MainProcess',
THREAD_NAME='MainThread',
- USER_NAME='myuser'))
+ USER_NAME='myuser'),
+ self.journal.send.call_args)
+ args, kwargs = self.journal.send.call_args
+ self.assertEqual(len(args), 1)
+ self.assertIsInstance(args[0], six.string_types)
+ self.assertIsInstance(kwargs['CODE_LINE'], int)
+ self.assertIsInstance(kwargs['PRIORITY'], int)
+ del kwargs['CODE_LINE'], kwargs['PRIORITY']
+ for key, arg in kwargs.items():
+ self.assertIsInstance(key, six.string_types)
+ self.assertIsInstance(arg, six.string_types + (six.binary_type,))
class LogLevelTestCase(BaseTestCase):
@@ -1718,6 +1809,20 @@
disable_existing_loggers=False)
+class SavingAdapter(log.KeywordArgumentAdapter):
+
+ def __init__(self, *args, **kwds):
+ super(log.KeywordArgumentAdapter, self).__init__(*args, **kwds)
+ self.results = []
+
+ def process(self, msg, kwargs):
+ # Run the real adapter and save the inputs and outputs
+ # before returning them so the test can examine both.
+ results = super(SavingAdapter, self).process(msg, kwargs)
+ self.results.append((msg, kwargs, results))
+ return results
+
+
class KeywordArgumentAdapterTestCase(BaseTestCase):
def setUp(self):
@@ -1770,52 +1875,44 @@
kwargs)
def test_pass_args_to_log(self):
- a = log.KeywordArgumentAdapter(self.mock_log, {})
+ a = SavingAdapter(self.mock_log, {})
+
message = 'message'
exc_message = 'exception'
- key = 'name'
val = 'value'
a.log(logging.DEBUG, message, name=val, exc_info=exc_message)
- if six.PY3:
- self.mock_log._log.assert_called_once_with(
- logging.DEBUG,
- message,
- (),
- extra={key: val, 'extra_keys': [key]},
- exc_info=exc_message
- )
- else:
- self.mock_log.log.assert_called_once_with(
- logging.DEBUG,
- message,
- extra={key: val, 'extra_keys': [key]},
- exc_info=exc_message
- )
+
+ expected = {
+ 'exc_info': exc_message,
+ 'extra': {'name': val, 'extra_keys': ['name']},
+ }
+
+ actual = a.results[0]
+ self.assertEqual(message, actual[0])
+ self.assertEqual(expected, actual[1])
+ results = actual[2]
+ self.assertEqual(message, results[0])
+ self.assertEqual(expected, results[1])
def test_pass_args_via_debug(self):
- a = log.KeywordArgumentAdapter(self.mock_log, {})
+
+ a = SavingAdapter(self.mock_log, {})
message = 'message'
exc_message = 'exception'
- key = 'name'
val = 'value'
a.debug(message, name=val, exc_info=exc_message)
- # The adapter implementation for debug() is different for
- # python 3, so we expect a different method to be called
- # internally.
- if six.PY3:
- self.mock_log._log.assert_called_once_with(
- logging.DEBUG,
- message,
- (),
- extra={key: val, 'extra_keys': [key]},
- exc_info=exc_message
- )
- else:
- self.mock_log.debug.assert_called_once_with(
- message,
- extra={key: val, 'extra_keys': [key]},
- exc_info=exc_message
- )
+
+ expected = {
+ 'exc_info': exc_message,
+ 'extra': {'name': val, 'extra_keys': ['name']},
+ }
+
+ actual = a.results[0]
+ self.assertEqual(message, actual[0])
+ self.assertEqual(expected, actual[1])
+ results = actual[2]
+ self.assertEqual(message, results[0])
+ self.assertEqual(expected, results[1])
class UnicodeConversionTestCase(BaseTestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.log-3.39.2/releasenotes/notes/log-rotation-595f8232cd987a6d.yaml
new/oslo.log-3.42.3/releasenotes/notes/log-rotation-595f8232cd987a6d.yaml
--- old/oslo.log-3.39.2/releasenotes/notes/log-rotation-595f8232cd987a6d.yaml
1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.log-3.42.3/releasenotes/notes/log-rotation-595f8232cd987a6d.yaml
2019-02-26 01:06:43.000000000 +0100
@@ -0,0 +1,10 @@
+---
+features:
+ - |
+ The following new config options will allow rotating log files,
+ especially useful on Windows:
+ * ``log_rotate_interval``
+ * ``log_rotate_interval_type``
+ * ``max_logfile_count``
+ * ``max_logfile_size_mb``
+ * ``log_rotation_type``
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/releasenotes/notes/reno.cache
new/oslo.log-3.42.3/releasenotes/notes/reno.cache
--- old/oslo.log-3.39.2/releasenotes/notes/reno.cache 2018-09-25
21:47:36.000000000 +0200
+++ new/oslo.log-3.42.3/releasenotes/notes/reno.cache 1970-01-01
01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
----
-file-contents: {}
-notes: []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.log-3.39.2/releasenotes/notes/windows-eventlog-2beb0a6010e342eb.yaml
new/oslo.log-3.42.3/releasenotes/notes/windows-eventlog-2beb0a6010e342eb.yaml
---
old/oslo.log-3.39.2/releasenotes/notes/windows-eventlog-2beb0a6010e342eb.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/oslo.log-3.42.3/releasenotes/notes/windows-eventlog-2beb0a6010e342eb.yaml
2019-02-26 01:06:43.000000000 +0100
@@ -0,0 +1,4 @@
+features:
+ - |
+ Added Windows EventLog functionality to oslo.log. Set use_eventlog to true
+ in the service's configuration file to use it.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/releasenotes/source/index.rst
new/oslo.log-3.42.3/releasenotes/source/index.rst
--- old/oslo.log-3.39.2/releasenotes/source/index.rst 2018-09-25
21:44:42.000000000 +0200
+++ new/oslo.log-3.42.3/releasenotes/source/index.rst 2019-02-26
01:06:43.000000000 +0100
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ rocky
queens
pike
ocata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/oslo.log-3.39.2/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
new/oslo.log-3.42.3/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
---
old/oslo.log-3.39.2/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2018-09-25 21:44:42.000000000 +0200
+++
new/oslo.log-3.42.3/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
2019-02-26 01:06:43.000000000 +0100
@@ -5,11 +5,11 @@
msgstr ""
"Project-Id-Version: oslo.log Release Notes\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-02-09 00:09+0000\n"
+"POT-Creation-Date: 2018-07-26 22:58+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-02-06 11:15+0000\n"
+"PO-Revision-Date: 2018-08-08 09:51+0000\n"
"Last-Translator: Andi Chandler <[email protected]>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
@@ -106,6 +106,9 @@
msgid "Queens Series Release Notes"
msgstr "Queens Series Release Notes"
+msgid "Rocky Series Release Notes"
+msgstr "Rocky Series Release Notes"
+
msgid "Switch to reno for managing release notes."
msgstr "Switch to reno for managing release notes."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/releasenotes/source/rocky.rst
new/oslo.log-3.42.3/releasenotes/source/rocky.rst
--- old/oslo.log-3.39.2/releasenotes/source/rocky.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/oslo.log-3.42.3/releasenotes/source/rocky.rst 2019-02-26
01:06:43.000000000 +0100
@@ -0,0 +1,6 @@
+===================================
+ Rocky Series Release Notes
+===================================
+
+.. release-notes::
+ :branch: stable/rocky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/requirements.txt
new/oslo.log-3.42.3/requirements.txt
--- old/oslo.log-3.39.2/requirements.txt 2018-09-25 21:44:42.000000000
+0200
+++ new/oslo.log-3.42.3/requirements.txt 2019-02-26 01:06:43.000000000
+0100
@@ -2,14 +2,14 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-pbr!=2.1.0,>=2.0.0 # Apache-2.0
-six>=1.10.0 # MIT
+pbr>=3.1.1 # Apache-2.0
+six>=1.11.0 # MIT
oslo.config>=5.2.0 # Apache-2.0
-oslo.context>=2.19.2 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
-oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
-debtcollector>=1.2.0 # Apache-2.0
+oslo.context>=2.20.0 # Apache-2.0
+oslo.i18n>=3.20.0 # Apache-2.0
+oslo.utils>=3.36.0 # Apache-2.0
+oslo.serialization>=2.25.0 # Apache-2.0
+debtcollector>=1.19.0 # Apache-2.0
pyinotify>=0.9.6;sys_platform!='win32' and sys_platform!='darwin' and
sys_platform!='sunos5' # MIT
-python-dateutil>=2.5.3 # BSD
-monotonic>=0.6 # Apache-2.0
+python-dateutil>=2.7.0 # BSD
+monotonic>=1.4 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/setup.cfg
new/oslo.log-3.42.3/setup.cfg
--- old/oslo.log-3.39.2/setup.cfg 2018-09-25 21:47:36.000000000 +0200
+++ new/oslo.log-3.42.3/setup.cfg 2019-02-26 01:09:16.000000000 +0100
@@ -4,7 +4,7 @@
description-file =
README.rst
author = OpenStack
-author-email = [email protected]
+author-email = [email protected]
home-page = https://docs.openstack.org/oslo.log/latest
classifier =
Environment :: OpenStack
@@ -34,12 +34,6 @@
console_scripts =
convert-json = oslo_log.cmds.convert_json:main
-[build_sphinx]
-all-files = 1
-warning-is-error = 1
-source-dir = doc/source
-build-dir = doc/build
-
[upload_sphinx]
upload-dir = doc/build/html
@@ -57,7 +51,7 @@
mapping_file = babel.cfg
output_file = oslo_log/locale/oslo_log.pot
-[wheel]
+[bdist_wheel]
universal = 1
[egg_info]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/test-requirements.txt
new/oslo.log-3.42.3/test-requirements.txt
--- old/oslo.log-3.39.2/test-requirements.txt 2018-09-25 21:44:42.000000000
+0200
+++ new/oslo.log-3.42.3/test-requirements.txt 2019-02-26 01:06:43.000000000
+0100
@@ -4,20 +4,15 @@
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-testrepository>=0.0.18 # Apache-2.0/BSD
-testtools>=2.2.0 # MIT
+stestr>=2.0.0 # Apache-2.0
+testtools>=2.3.0 # MIT
mock>=2.0.0 # BSD
-oslotest>=3.2.0 # Apache-2.0
+oslotest>=3.3.0 # Apache-2.0
# when we can require tox>= 1.4, this can go into tox.ini:
# [testenv:cover]
# deps = {[testenv]deps} coverage
-coverage!=4.4,>=4.0 # Apache-2.0
-
-# this is required for the docs build jobs
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+coverage>=4.5.1 # Apache-2.0
# Bandit security code scanner
bandit>=1.1.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/oslo.log-3.39.2/tox.ini new/oslo.log-3.42.3/tox.ini
--- old/oslo.log-3.39.2/tox.ini 2018-09-25 21:44:42.000000000 +0200
+++ new/oslo.log-3.42.3/tox.ini 2019-02-26 01:06:43.000000000 +0100
@@ -3,16 +3,19 @@
envlist = py35,py27,pep8
[testenv]
+whitelist_externals =
+ find
setenv =
VIRTUAL_ENV={envdir}
BRANCH_NAME=master
CLIENT_NAME=oslo.log
-install_command = {toxinidir}/tools/tox_install.sh
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/rocky}
{opts} {packages}
+install_command = {toxinidir}/tools/tox_install.sh
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
{opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
-e.[fixtures]
commands =
- python setup.py test --coverage --coverage-package-name=oslo_log --slowest
--testr-args='{posargs}'
- coverage report --show-missing
+ find . -type f -name "*.pyc" -delete
+ stestr run {posargs}
+ stestr slowest
[testenv:pep8]
basepython = python3
@@ -27,16 +30,22 @@
[testenv:docs]
basepython = python3
-commands = python setup.py build_sphinx
+deps = -r{toxinidir}/doc/requirements.txt
+commands = sphinx-build -a -E -W -b html doc/source doc/build/html
[testenv:releasenotes]
basepython = python3
-commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html
releasenotes/source releasenotes/build/html
+deps = -r{toxinidir}/doc/requirements.txt
+commands = sphinx-build -a -E -W -b html releasenotes/source
releasenotes/build/html
[testenv:cover]
basepython = python3
commands =
- python setup.py test --coverage --coverage-package-name=oslo_log
--testr-args='{posargs}'
+ coverage erase
+ {[testenv]commands}
+ coverage combine
+ coverage html -d cover
+ coverage xml -o cover/coverage.xml
coverage report --show-missing
[testenv:bandit]
@@ -52,7 +61,6 @@
[flake8]
# E123, E125 skipped as they are invalid PEP-8.
-
show-source = True
ignore = E123,E125,H405
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,__init__.py