├── .gitignore
├── CHANGELOG.txt
├── LICENSE.txt
├── MANIFEST.in
├── README.rst
├── _execfile.py
├── _readme
├── Makefile
├── README.rst
├── conf.py
└── source
│ ├── _static
│ └── custom.css
│ └── _templates
│ ├── footer.html
│ └── layout.html
├── docs
├── LCDict-features-and-usage.rst
├── LCDictBasic-organization-basic_usage.rst
├── LCDictBuilderABC.rst
├── Makefile
├── _global.rst
├── arrowO.png
├── arrsup.png
├── arruse.png
├── class-reference.rst
├── conf.py
├── configuration.rst
├── configuring-loggers.rst
├── formatter-presets.rst
├── genindex.rst
├── guide-to-examples.rst
├── index.rst
├── intro-setup-testing-examples.rst
├── lcdict.rst
├── lcdictbasic.rst
├── locking_handlers.rst
├── logging_classes_v2.graphml
├── logging_classes_v2.png
├── mproc_locking_handlers_paradigm.graphml
├── mproc_queue_paradigm.graphml
├── mproc_queue_paradigm.png
├── overview-of-logging.rst
├── prelogging_classes-v4d.graphml
├── prelogging_classes-v4d.png
├── source
│ ├── _static
│ │ └── custom.css
│ └── _templates
│ │ ├── footer.html
│ │ └── layout.html
└── topics-recipes.rst
├── examples
├── NOTE.txt
├── SMTP_handler_just_one.py
├── SMTP_handler_two.py
├── __init__.py
├── _get_locking_pref.py
├── _log saved
│ ├── _log--2.7-runs
│ │ ├── child_loggers
│ │ │ └── child_loggers.log
│ │ ├── child_loggers2
│ │ │ └── child_loggers2.log
│ │ ├── mproc
│ │ │ ├── check_for_NUL_bytes.py
│ │ │ ├── mproc_LOCKING.log
│ │ │ └── mproc_NOLOCKING.log
│ │ ├── mproc2
│ │ │ ├── check_for_NUL_bytes.py
│ │ │ ├── mproc2_LOCKING.log
│ │ │ └── mproc2_NOLOCKING.log
│ │ ├── mproc_deco
│ │ │ ├── logfile (LOCKING).log
│ │ │ └── logfile (NOLOCKING).log
│ │ ├── mproc_deco_rot_fh
│ │ │ ├── LOCKING
│ │ │ │ ├── _DELETE
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.10
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ ├── rot_fh.log.3
│ │ │ │ ├── rot_fh.log.4
│ │ │ │ ├── rot_fh.log.5
│ │ │ │ ├── rot_fh.log.6
│ │ │ │ ├── rot_fh.log.7
│ │ │ │ ├── rot_fh.log.8
│ │ │ │ └── rot_fh.log.9
│ │ │ └── NOLOCKING
│ │ │ │ ├── _DELETE
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ └── rot_fh.log.3
│ │ ├── root_logger
│ │ │ └── logfile.log
│ │ └── rot_fh
│ │ │ ├── _DEL
│ │ │ ├── rot_fh.log
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.2
│ │ │ └── rot_fh.log.3
│ ├── _log--3.x-runs (I)
│ │ ├── child_loggers
│ │ │ ├── OLD child_loggers_stderr.txt
│ │ │ └── child_loggers.log
│ │ ├── child_loggers2
│ │ │ ├── OLD child_loggers2_stderr.txt
│ │ │ └── child_loggers2.log
│ │ ├── mproc
│ │ │ ├── NOLOCKING-has-NULbytes.txt
│ │ │ ├── check_for_NUL_bytes.py~HEAD
│ │ │ ├── check_for_NUL_bytes.py~develop
│ │ │ ├── mproc_LOCKING.log
│ │ │ └── mproc_NOLOCKING.log
│ │ ├── mproc2
│ │ │ ├── check_for_NUL_bytes.py~HEAD
│ │ │ ├── check_for_NUL_bytes.py~develop
│ │ │ ├── mproc2-NOLOCKING-has-NULbytes.txt
│ │ │ ├── mproc2_LOCKING.log
│ │ │ ├── mproc2_NOLOCKING.log
│ │ │ └── stderr-output-LOCKING_NOLOCKING.txt
│ │ ├── mproc_deco_rot_fh
│ │ │ ├── LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ ├── rot_fh.log.3
│ │ │ │ ├── rot_fh.log.4
│ │ │ │ ├── rot_fh.log.5
│ │ │ │ ├── rot_fh.log.6
│ │ │ │ └── stderr out (LOCKING).txt
│ │ │ ├── LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ ├── rot_fh.log.3
│ │ │ │ ├── rot_fh.log.4
│ │ │ │ ├── rot_fh.log.5
│ │ │ │ ├── rot_fh.log.6
│ │ │ │ └── stderr out (LOCKING).txt
│ │ │ ├── LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ ├── rot_fh.log.3
│ │ │ │ ├── rot_fh.log.4
│ │ │ │ ├── rot_fh.log.5
│ │ │ │ └── stderr out (LOCKING).txt
│ │ │ ├── LOCKING
│ │ │ │ ├── _temp
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.10
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ ├── rot_fh.log.3
│ │ │ │ ├── rot_fh.log.4
│ │ │ │ ├── rot_fh.log.5
│ │ │ │ ├── rot_fh.log.6
│ │ │ │ ├── rot_fh.log.7
│ │ │ │ ├── rot_fh.log.8
│ │ │ │ └── rot_fh.log.9
│ │ │ ├── NOLOCKING-no_close-doesnt_even_work
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ ├── rot_fh.log.3
│ │ │ │ ├── rot_fh.log.4
│ │ │ │ ├── rot_fh.log.5
│ │ │ │ └── stderr out (NOLOCKING).txt
│ │ │ └── NOLOCKING
│ │ │ │ ├── rot_fh.log
│ │ │ │ ├── rot_fh.log.1
│ │ │ │ ├── rot_fh.log.2
│ │ │ │ └── rot_fh.log.3
│ │ ├── root_logger
│ │ │ ├── logfile.log~HEAD
│ │ │ └── logfile.log~develop
│ │ └── rot_fh
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.10
│ │ │ ├── rot_fh.log.2~HEAD
│ │ │ ├── rot_fh.log.2~develop
│ │ │ ├── rot_fh.log.3~HEAD
│ │ │ ├── rot_fh.log.3~develop
│ │ │ ├── rot_fh.log.4~HEAD
│ │ │ ├── rot_fh.log.4~develop
│ │ │ ├── rot_fh.log.5~HEAD
│ │ │ ├── rot_fh.log.5~develop
│ │ │ ├── rot_fh.log.6~HEAD
│ │ │ ├── rot_fh.log.6~develop
│ │ │ ├── rot_fh.log.7~HEAD
│ │ │ ├── rot_fh.log.7~develop
│ │ │ ├── rot_fh.log.8~HEAD
│ │ │ ├── rot_fh.log.8~develop
│ │ │ ├── rot_fh.log.9~HEAD
│ │ │ ├── rot_fh.log.9~develop
│ │ │ ├── rot_fh.log~HEAD
│ │ │ └── rot_fh.log~develop
│ └── _log--3.x-runs (II)
│ │ ├── child_loggers
│ │ └── child_loggers.log
│ │ ├── child_loggers2
│ │ └── child_loggers2.log
│ │ ├── mproc
│ │ ├── check_for_NUL_bytes.py
│ │ ├── mproc_LOCKING.log
│ │ └── mproc_NOLOCKING.log
│ │ ├── mproc2
│ │ ├── check_for_NUL_bytes.py
│ │ ├── mproc2_LOCKING.log
│ │ └── mproc2_NOLOCKING.log
│ │ ├── mproc_deco
│ │ ├── logfile (LOCKING).log
│ │ └── logfile (NOLOCKING).log
│ │ ├── mproc_deco_rot_fh
│ │ ├── LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD
│ │ │ ├── rot_fh.log
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.2
│ │ │ ├── rot_fh.log.3
│ │ │ ├── rot_fh.log.4
│ │ │ ├── rot_fh.log.5
│ │ │ ├── rot_fh.log.6
│ │ │ └── stderr out (LOCKING).txt
│ │ ├── LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD
│ │ │ ├── rot_fh.log
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.2
│ │ │ ├── rot_fh.log.3
│ │ │ ├── rot_fh.log.4
│ │ │ ├── rot_fh.log.5
│ │ │ ├── rot_fh.log.6
│ │ │ └── stderr out (LOCKING).txt
│ │ ├── LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD
│ │ │ ├── rot_fh.log
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.2
│ │ │ ├── rot_fh.log.3
│ │ │ ├── rot_fh.log.4
│ │ │ ├── rot_fh.log.5
│ │ │ └── stderr out (LOCKING).txt
│ │ ├── LOCKING
│ │ │ ├── rot_fh.log
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.10
│ │ │ ├── rot_fh.log.2
│ │ │ ├── rot_fh.log.3
│ │ │ ├── rot_fh.log.4
│ │ │ ├── rot_fh.log.5
│ │ │ ├── rot_fh.log.6
│ │ │ ├── rot_fh.log.7
│ │ │ ├── rot_fh.log.8
│ │ │ └── rot_fh.log.9
│ │ ├── NOLOCKING-no_close-doesnt_even_work
│ │ │ ├── rot_fh.log
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.2
│ │ │ ├── rot_fh.log.3
│ │ │ ├── rot_fh.log.4
│ │ │ ├── rot_fh.log.5
│ │ │ └── stderr out (NOLOCKING).txt
│ │ └── NOLOCKING
│ │ │ ├── rot_fh.log
│ │ │ ├── rot_fh.log.1
│ │ │ ├── rot_fh.log.2
│ │ │ └── rot_fh.log.3
│ │ ├── root_logger
│ │ └── logfile.log
│ │ └── rot_fh
│ │ ├── rot_fh.log
│ │ ├── rot_fh.log.1
│ │ ├── rot_fh.log.2
│ │ └── rot_fh.log.3
├── _smtp_credentials.py
├── check_for_NUL.py
├── child_logger2_main.py
├── child_logger2_sub_noprop.py
├── child_logger2_sub_prop.py
├── child_logger_main.py
├── child_logger_sub_noprop.py
├── child_logger_sub_prop.py
├── custom_callable_formatter.py
├── custom_class_formatter.py
├── dateformat.py
├── dictConfig-can-kill-existing-root-configuration.py
├── filter-adding-fields--custom-formatter-keywords-for-fields.py
├── filter-callable-extra-static-data.py
├── filter-class-extra-static-data.py
├── library
│ ├── __init__.py
│ └── module.py
├── mproc.py
├── mproc2.py
├── mproc_approach__locking_handlers.py
├── mproc_approach__queue_handler_logging_thread.py
├── mproc_deco.py
├── mproc_deco_rot_fh.py
├── mproc_deco_syslog.py
├── queue_handler_listener.py
├── requirements.txt
├── root_logger.py
├── syslog.py
└── use_library.py
├── prelogging
├── __init__.py
├── _version.py
├── formatter_presets.py
├── formatter_presets.txt
├── lcdict.py
├── lcdict_builder_abc.py
├── lcdictbasic.py
├── locking_handlers.py
└── six.py
├── run_all.py
├── run_examples.py
├── run_tests.py
├── setup.cfg
├── setup.py
└── tests
├── __init__.py
├── _testlogs
├── builder
│ ├── subA.log
│ └── subB.log
├── logfile.log
├── logfile_delay.log
└── rot_fh
│ ├── test_rot_fh.log
│ ├── test_rot_fh.log.1
│ ├── test_rot_fh.log.10
│ ├── test_rot_fh.log.2
│ ├── test_rot_fh.log.3
│ ├── test_rot_fh.log.4
│ ├── test_rot_fh.log.5
│ ├── test_rot_fh.log.6
│ ├── test_rot_fh.log.7
│ ├── test_rot_fh.log.8
│ └── test_rot_fh.log.9
├── blather.log
├── formatter_presets_badfile.txt
├── test_LCDict.py
├── test_LCDictBasic.py
├── test_add_xxx_filter.py
├── test_fh_delay.py
├── test_formatter_presets.py
├── test_formatter_style.py
├── test_lcdict_builder.py
├── test_lcdict_builder_SubA.py
├── test_lcdict_builder_SubB.py
├── test_lcdict_builders_top.py
├── test_root_logger.py
└── test_rot_fh.py
/.gitignore:
--------------------------------------------------------------------------------
1 | /_HIDE/
2 | /dist/
3 | /_readme/_build/
4 | /docs/_build/
5 | .DS_Store
6 | .idea
7 | /__pycache__/
8 | /prelogging.egg-info/
9 | .ipynb_checkpoints/*.*
10 | temp*.py
11 | temp*.txt
12 | *.pyc
13 |
--------------------------------------------------------------------------------
/CHANGELOG.txt:
--------------------------------------------------------------------------------
1 | 0.4.3rc1
2 | --------
3 |
4 | * Removed 'class_'/'class' keyword parameter from LCDictBasic.add_formatter,
5 | it's no longer added to formatter sub-sub-dicts:
6 |
7 | * it's not used by dictConfig, and
8 | * it was inserted even when creating a custom formatter
9 | * it's (perhaps harmless but) misleading: that's not how a custom formatter
10 | is specified
11 |
12 | Docs and tests updated accordingly.
13 |
14 | * Added examples custom_class_formatter.py, custom_callable_formatter.py,
15 | and brief descriptions in Guide To Examples
16 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | License -- MIT License
2 | ----------------------
3 | Copyright (c) 2014-2016 Brian O'Neill
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include run_tests.py
2 | include run_examples.py
3 | include run_all.py
4 | include _execfile.py
5 | include setup.py
6 | include setup.cfg
7 | include CHANGELOG.txt
8 | include LICENSE.txt
9 | include README.rst
10 |
11 | recursive-include tests *
12 | recursive-include examples *
13 | recursive-include docs *
14 |
15 | exclude build/*
16 | exclude dist/*
17 | exclude _HIDE/*
18 | prune _readme/*
19 | prune docs/_build/*
20 |
21 | global-exclude *.pyc
22 | global-exclude .DS_Store
23 | global-exclude */__pycache__/*
24 |
--------------------------------------------------------------------------------
/_execfile.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | def _execfile(filename, globs=None, locs=None):
4 | with open(filename) as f:
5 | code = compile(f.read(), "somefile.py", 'exec')
6 | exec(code, globs, locs)
7 |
--------------------------------------------------------------------------------
/_readme/source/_static/custom.css:
--------------------------------------------------------------------------------
1 | /*
2 | Trying to override the hideous font and color
3 | #E74C3C
4 | of inline code in the RTD theme. So far, nothing works.
5 | */
6 | p, li {
7 | font-family: "Helvetica";
8 | /*color: #202020;*/
9 | color: #404040;
10 | }
11 | li {
12 | font-size: 96%;
13 | }
14 | span.literal {
15 | /*color: #0044DD !important;*/
16 | /*color: #003aa9 !important;*/
17 | /*color: #003398 !important;*/
18 | /*color: #3D4B66 !important;*/
19 | color: #3D4B6E !important;
20 |
21 | /*background-color: #efefff;*/
22 | /*background-color: #f0f0ff;*/
23 | background-color: #f3f4fc;
24 | /*background-color: #f6f7ff;*/
25 | /*font-size: 110% !important;*/
26 | font-size: 107% !important;
27 | }
28 |
29 | /* TRY THIS -- tighten padding, on right?
30 | */
31 | .rst-content tt, .rst-content tt, .rst-content code {
32 | color: #000;
33 | /*padding: 2px 5px;*/
34 | padding: 2px 1px;
35 | }
36 |
37 | code.literal {
38 | /*color: #003398 !important;*/
39 | /*color: #3D4B66 !important;*/
40 | color: #3D4B6E !important;
41 | background-color: #f3f4fc;
42 | /*background-color: #f6f7ff;*/
43 | /*font-size: 87% !important */
44 | /*font-size: 87% !important;*/
45 | font-size: 90% !important;
46 | }
47 |
48 | /* THIS works -- code blocks */
49 | pre {
50 | font-size: 83% !important;
51 | }
52 |
53 | /* Suppress breadcrumbs */
54 | div[aria-label="breadcrumbs navigation"] {
55 | display: none
56 | }
57 |
58 | /* Code-block comments: */
59 | .c1 {
60 | color: #6f83d2;
61 | }
62 | /*
63 | Make HRs more visible, they're ridiculous with 'border-top: 1px solid #e1e4e5;''
64 | */
65 | hr {
66 | /*border-top: 1px solid #bec1c3;*/
67 | /*border-top: 4px solid #202020;*/
68 | height: 4px; /* 6px; */
69 | color:#202020;
70 | background-color: #800;
71 | border-style: solid;
72 | border-width: 1px; /* 2px; */
73 | margin-top: 2em;
74 | margin-bottom: 0;
75 | }
76 | /*
77 | DUNNO HOW TO CHANGE SIZE OF CODE BLOCKS.
78 | They're too small.
79 |
80 | div.highlight-python {
81 | font-size: 125% !important;
82 | }
83 | */
84 |
85 | /*h2 {*/
86 | /*font-size: 110%;*/
87 | /*/!*font-style: italic;*!/*/
88 | /*}*/
89 | h3 {
90 | font-size: 116%;
91 | font-style: italic;
92 | }
93 |
94 | h4 {
95 | font-size: 104%;
96 | opacity: 0.8;
97 | }
98 |
99 | h5 {
100 | font-size: 95%;
101 | font-style: italic;
102 | opacity: 0.7;
103 | }
104 |
105 | h6 {
106 | font-size: 96%;
107 | /*font-style: italic;*/
108 | }
109 |
--------------------------------------------------------------------------------
/_readme/source/_templates/footer.html:
--------------------------------------------------------------------------------
1 | {% block trans %}
2 |
3 | Built with Sphinx using
4 | a tweaked Read the Docs
5 | theme.
6 | {% endblock %}
7 |
--------------------------------------------------------------------------------
/_readme/source/_templates/layout.html:
--------------------------------------------------------------------------------
1 | {% extends "!layout.html" %}
2 | {% set css_files = css_files + ["_static/custom.css"] %}
3 |
--------------------------------------------------------------------------------
/docs/LCDictBuilderABC.rst:
--------------------------------------------------------------------------------
1 | .. _LCDictBuilderABC:
2 |
3 | LCDictBuilderABC
4 | ===============================
5 |
6 | This class resides in ``lcdict_builder_abc.py``.
7 |
8 | .. autoclass:: prelogging.lcdict_builder_abc.LCDictBuilderABC
9 | :members:
10 |
--------------------------------------------------------------------------------
/docs/_global.rst:
--------------------------------------------------------------------------------
1 | .. role:: raw-html(raw)
2 | :format: html
3 |
4 | .. |br| raw:: html
5 |
6 |
7 |
8 | .. |hr| raw:: html
9 |
10 |
11 |
12 |
13 | .. |brhalf| raw:: html
14 |
15 |
16 |
17 |
18 |
19 | .. |br10th| raw:: html
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/docs/arrowO.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/docs/arrowO.png
--------------------------------------------------------------------------------
/docs/arrsup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/docs/arrsup.png
--------------------------------------------------------------------------------
/docs/arruse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/docs/arruse.png
--------------------------------------------------------------------------------
/docs/class-reference.rst:
--------------------------------------------------------------------------------
1 | Class Reference
2 | =========================
3 |
4 | `prelogging` isn't a large package: it's a few, mostly small classes in four
5 | modules.
6 |
7 |
8 | .. toctree::
9 | :maxdepth: 1
10 |
11 | lcdictbasic
12 | lcdict
13 | locking_handlers
14 | LCDictBuilderABC
15 |
16 |
17 | Class diagram
18 | ----------------
19 |
20 | .. include:: _global.rst
21 |
22 | .. index:: diagram: `prelogging` classes — inheritance & and who uses whom
23 |
24 | .. _prelogging-all-classes:
25 |
26 | .. figure:: prelogging_classes-v4d.png
27 | :figwidth: 100%
28 |
29 | |br| **prelogging** classes — inheritance, and who uses whom
30 |
31 | +-----------------------+-----------------------+
32 | | Symbol | Meaning |
33 | +=======================+=======================+
34 | | .. image:: arrsup.png | is a superclass of |
35 | +-----------------------+-----------------------+
36 | | .. image:: arruse.png | uses (instantiates) |
37 | +-----------------------+-----------------------+
38 |
39 |
--------------------------------------------------------------------------------
/docs/genindex.rst:
--------------------------------------------------------------------------------
1 | Index
2 | ======
3 |
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | .. prelogging documentation master file, created by
2 | sphinx-quickstart on Sat Jul 9 18:19:34 2016.
3 |
4 | `prelogging` |release|
5 | ==================================================
6 |
7 | `prelogging` is a pure Python package that provides a simple, consistent, powerful
8 | API for configuring logging. The package includes several "batteries":
9 |
10 | * consistent methods to add handlers both mundane and exotic
11 | * multiprocessing-safe handlers which output to the console, to files and
12 | rotating files, and to the system log
13 | * formatter presets — a fund of useful shorthands for formatters, which you can extend and modify
14 |
15 | .. Using `prelogging`
16 |
17 | Chapters
18 | ------------------------
19 |
20 | .. toctree::
21 | :maxdepth: 2
22 |
23 | intro-setup-testing-examples
24 | overview-of-logging
25 | configuration
26 | LCDictBasic-organization-basic_usage
27 | LCDict-features-and-usage
28 | formatter-presets
29 | configuring-loggers
30 | topics-recipes
31 | guide-to-examples
32 | class-reference
33 | genindex
34 |
--------------------------------------------------------------------------------
/docs/lcdict.rst:
--------------------------------------------------------------------------------
1 | .. _LCDict:
2 |
3 | LCDict
4 | ===============================
5 |
6 | This class resides in ``lcdict.py``.
7 |
8 | .. automodule:: prelogging.lcdict
9 |
10 | .. autoclass:: prelogging.lcdict.LCDict
11 | :members: __init__,
12 | locking, attach_handlers_to_root,
13 | clone_handler, add_handler,
14 | set_handler_formatter,
15 | add_stream_handler, add_stdout_handler, add_stderr_handler,
16 | add_file_handler, add_rotating_file_handler,
17 | add_syslog_handler, add_email_handler, add_queue_handler,
18 | add_class_filter, add_callable_filter
19 | :special-members:
20 |
21 |
22 |
--------------------------------------------------------------------------------
/docs/lcdictbasic.rst:
--------------------------------------------------------------------------------
1 | .. _LCDictBasic:
2 |
3 | LCDictBasic
4 | ===============================
5 |
6 | This class resides in ``lcdictbasic.py``.
7 |
8 | .. autoclass:: prelogging.lcdictbasic.LCDictBasic
9 | :members: __init__,
10 | formatters, filters, handlers, loggers, root,
11 | set_root_level, set_handler_level, set_logger_level,
12 | set_handler_formatter,
13 | add_formatter, add_filter, add_handler, add_logger,
14 | add_stream_handler, add_file_handler, add_null_handler,
15 | attach_handler_filters,
16 | attach_logger_filters, attach_logger_handlers,
17 | attach_root_filters, attach_root_handlers,
18 | dump, check, config,
19 | warnings, Warnings
20 |
21 |
--------------------------------------------------------------------------------
/docs/locking_handlers.rst:
--------------------------------------------------------------------------------
1 | .. _locking-handlers:
2 |
3 | Locking Handlers
4 | ===============================
5 |
6 | The multiprocessing-safe handler classes ``LockingStreamHandler``,
7 | ``LockingFileHandler``, ``LockingRotatingFileHandler`` and
8 | ``LockingSyslogHandler`` all use the mixin class ``MPLock_Mixin`` to
9 | wrap a lock around calls to ``emit``. All these classes reside in
10 | ``locking_handlers.py``.
11 |
12 | The :ref:`LCDict` class provides an interface to the locking handlers;
13 | in the ordinary course of things it's probably unnecessary to use them directly.
14 |
15 | .. automodule:: prelogging.locking_handlers
16 | :members:
17 |
--------------------------------------------------------------------------------
/docs/logging_classes_v2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/docs/logging_classes_v2.png
--------------------------------------------------------------------------------
/docs/mproc_queue_paradigm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/docs/mproc_queue_paradigm.png
--------------------------------------------------------------------------------
/docs/prelogging_classes-v4d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/docs/prelogging_classes-v4d.png
--------------------------------------------------------------------------------
/docs/source/_static/custom.css:
--------------------------------------------------------------------------------
1 | /*
2 | h2 {
3 | font-size: 100%;
4 | color: #0B0B0B;
5 | /!*font-style: italic;*!/
6 | opacity: 0.7;
7 | }
8 |
9 | h3 {
10 | font-size: 100%;
11 | /!*color : #0B0000;*!/
12 | font-style: italic;
13 | opacity: 0.8;
14 | }
15 |
16 | h4 {
17 | font-size: 95%;
18 | opacity: 0.8;
19 | }
20 |
21 | h5 {
22 | font-size: 97%;
23 | font-style: italic;
24 | opacity: 0.7;
25 | }
26 |
27 | h6 {
28 | font-size: 94%;
29 | }
30 |
31 | */
32 |
33 | /*
34 | .tt.literal {
35 | color: #404040;
36 | }
37 | */
38 | /*
39 | Trying to override the hideous font and color
40 | #E74C3C
41 | of inline code in the RTD theme. So far, nothing works.
42 | */
43 |
44 | span.literal {
45 | /*color: #0044DD !important;*/
46 | /*color: #003aa9 !important;*/
47 | /*color: #003398 !important;*/
48 | /*color: #3D4B66 !important;*/
49 | color: #3D4B6E !important;
50 |
51 | /*background-color: #efefff;*/
52 | /*background-color: #f0f0ff;*/
53 | background-color: #f3f4fc;
54 | /*background-color: #f6f7ff;*/
55 | /*font-size: 110% !important;*/
56 | font-size: 107% !important;
57 | }
58 |
59 | /* TRY THIS -- tighten padding, on right?
60 | */
61 | .rst-content tt, .rst-content tt, .rst-content code {
62 | color: #000;
63 | /*padding: 2px 5px;*/
64 | padding: 2px 1px;
65 | }
66 |
67 | code.literal {
68 | /*color: #003398 !important;*/
69 | /*color: #3D4B66 !important;*/
70 | color: #3D4B6E !important;
71 | background-color: #f3f4fc;
72 | /*background-color: #f6f7ff;*/
73 | /*font-size: 87% !important */
74 | /*font-size: 87% !important;*/
75 | font-size: 90% !important;
76 | }
77 |
78 | /* THIS works -- code blocks */
79 | pre {
80 | font-size: 83% !important;
81 | }
82 |
83 | /* Suppress breadcrumbs */
84 | div[aria-label="breadcrumbs navigation"] {
85 | display: none
86 | }
87 |
88 | /* Code-block comments: */
89 | .c1 {
90 | color: #6f83d2;
91 | }
92 | /*
93 | Make HRs more visible, they're ridiculous with 'border-top: 1px solid #e1e4e5;''
94 | */
95 | hr {
96 | border-top: 1px solid #bec1c3;
97 | }
98 | /*
99 | DUNNO HOW TO CHANGE SIZE OF CODE BLOCKS.
100 | They're too small.
101 |
102 | div.highlight-python {
103 | font-size: 125% !important;
104 | }
105 | */
106 |
107 | /*h2 {*/
108 | /*font-size: 110%;*/
109 | /*/!*font-style: italic;*!/*/
110 | /*}*/
111 | h3 {
112 | font-size: 116%;
113 | font-style: italic;
114 | }
115 |
116 | h4 {
117 | font-size: 104%;
118 | opacity: 0.8;
119 | }
120 |
121 | h5 {
122 | font-size: 95%;
123 | font-style: italic;
124 | opacity: 0.7;
125 | }
126 |
127 | h6 {
128 | font-size: 96%;
129 | /*font-style: italic;*/
130 | }
131 |
--------------------------------------------------------------------------------
/docs/source/_templates/footer.html:
--------------------------------------------------------------------------------
1 | {% block trans %}
2 |
3 | Built with Sphinx using
4 | a tweaked Read the Docs
5 | theme.
6 | {% endblock %}
7 |
--------------------------------------------------------------------------------
/docs/source/_templates/layout.html:
--------------------------------------------------------------------------------
1 | {% extends "!layout.html" %}
2 | {% set css_files = css_files + ["_static/custom.css"] %}
3 |
--------------------------------------------------------------------------------
/examples/NOTE.txt:
--------------------------------------------------------------------------------
1 | Run the programs in this directory from this directory -- e.g.
2 | $ cd path/to/examples
3 | $ ./mproc.py
4 |
--------------------------------------------------------------------------------
/examples/SMTP_handler_just_one.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 |
5 | import logging
6 |
7 | try:
8 | import prelogging
9 | except ImportError:
10 | import sys
11 | sys.path[0:0] = ['..'] # , '../..'
12 | from prelogging import LCDict
13 |
14 | from ._smtp_credentials import *
15 |
16 | # for testing/trying the example
17 | TEST_TO_ADDRESS = FROM_ADDRESS
18 |
19 |
20 | def main():
21 | # root, console handler levels: WARNING.
22 | lcd = LCDict(attach_handlers_to_root=True)
23 | lcd.add_stderr_handler('con-err',
24 | formatter='msg'
25 | ).add_email_handler(
26 | 'email-handler',
27 | level='ERROR',
28 | formatter='time_logger_level_msg',
29 | # SMTPHandler-specific kwargs:
30 | mailhost=SMTP_SERVER,
31 | fromaddr=FROM_ADDRESS,
32 | toaddrs=[TEST_TO_ADDRESS, 'admin@kludge.ly'], # string or list of strings
33 | subject='Alert from SMTPHandler',
34 | username=SMTP_USERNAME,
35 | password=SMTP_PASSWORD
36 | )
37 |
38 | lcd.config()
39 |
40 | root = logging.getLogger()
41 | root.debug("1.") # not logged (loglevel too low)
42 | root.info("2.") # ditto
43 | root.warning("3.") # logged to console
44 | root.error("4.") # logged to console, emailed
45 | root.critical("5.") # ditto
46 |
47 |
48 | if __name__ == '__main__':
49 | main()
50 |
51 |
--------------------------------------------------------------------------------
/examples/SMTP_handler_two.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 |
5 | import logging
6 |
7 | try:
8 | import prelogging
9 | except ImportError:
10 | import sys
11 | sys.path[0:0] = ['..'] # , '../..'
12 | from prelogging import LCDict
13 |
14 | from ._smtp_credentials import *
15 |
16 | # for testing/trying it the example
17 | TEST_TO_ADDRESS = FROM_ADDRESS
18 |
19 |
20 | def add_smtp_handler_to_lcd(
21 | lcd, # *
22 | handler_name,
23 | level,
24 | toaddrs, # string or list of strings
25 | subject,
26 | filters=()):
27 | """Factor out calls to ``add_email_handler``.
28 | """
29 | lcd.add_email_handler(
30 | handler_name,
31 | level=level,
32 | filters=filters,
33 |
34 | toaddrs=toaddrs,
35 | subject=subject,
36 |
37 | formatter='time_logger_level_msg',
38 | fromaddr=FROM_ADDRESS,
39 | mailhost=SMTP_SERVER,
40 | username=SMTP_USERNAME,
41 | password=SMTP_PASSWORD
42 | )
43 |
44 | def filter_error_only(record):
45 | "Let only ERROR messages through"
46 | return record.levelname == 'ERROR'
47 |
48 |
49 | def logging_config():
50 | lcd = LCDict(attach_handlers_to_root=True)
51 | # root level: WARNING
52 | lcd.add_stderr_handler('con-err', formatter='level_msg')
53 | # console handler level: NOTSET
54 |
55 | # Add TWO SMTPHandlers, one for each level ERROR and CRITICAL,
56 | # which will email technical staff with logged messages of levels >= ERROR.
57 | # We use a filter to make the first handler squelch CRITICAL messages:
58 | lcd.add_callable_filter("filter-error-only", filter_error_only)
59 |
60 | # TEST_TO_ADDRESS included just for testing/trying out the example
61 | basic_toaddrs = [TEST_TO_ADDRESS, 'admin@kludge.ly']
62 |
63 | # add error-only SMTP handler
64 | add_smtp_handler_to_lcd(
65 | lcd,
66 | 'email-error',
67 | level='ERROR',
68 | toaddrs=basic_toaddrs,
69 | subject='ERROR (Alert from SMTPHandler)',
70 | filters=['filter-error-only'])
71 | # add critical-only SMTP handler
72 | add_smtp_handler_to_lcd(
73 | lcd,
74 | 'email-critical',
75 | level='CRITICAL',
76 | toaddrs=basic_toaddrs + ['cto@kludge.ly'],
77 | subject='CRITICAL (Alert from SMTPHandler)')
78 | lcd.config()
79 |
80 | # -----------------------------------------
81 |
82 | def main():
83 | logging_config()
84 |
85 | root = logging.getLogger()
86 | root.warning("Be careful") # logged to console
87 | root.error("Something bad just happened") # logged to console, emailed
88 | root.critical("Time to restart") # ditto
89 |
90 |
91 | if __name__ == '__main__':
92 | main()
93 |
94 |
--------------------------------------------------------------------------------
/examples/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/examples/__init__.py
--------------------------------------------------------------------------------
/examples/_get_locking_pref.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | import os
4 | import sys
5 |
6 |
7 | def get_locking_pref():
8 | """Uppercase everything in a copy of sys.argv.
9 | Return True if a unique prefix of --LOCKING was passed, or or -L;
10 | return False if a unique prefix of --NOLOCKING was passed, or -N.
11 | Anything else passed: write help & exit(1).
12 | Nothing passed -> return True.
13 |
14 | :return: bool -- True => use locking, False => don't.
15 | """
16 | argv=[s.upper() for s in sys.argv[1:]]
17 | if not argv:
18 | return True # locking, yes
19 |
20 | help_str = (
21 | 'Usage:\n'
22 | ' ./%(PROGNAME)s [--LOCKING | --NOLOCKING]\n'
23 | ' ./%(PROGNAME)s -h | --help\n'
24 | ' \n'
25 | ' Options (case-insensitive, initial letter suffices '
26 | 'e.g. "--L" or "--n" or even -L):\n'
27 | ' \n'
28 | ' -L, --LOCKING Use LockingRotatingFileHandler [default: True]\n'
29 | ' -N, --NOLOCKING Use logging.RotatingFileHandler [default: False]\n'
30 | ' -h, --help Write this help message and exit.\n'
31 | ) % {'PROGNAME': os.path.basename(sys.argv[0])}
32 |
33 | if len(argv) > 1:
34 | exit(help_str)
35 |
36 | arg = argv[0]
37 |
38 | if arg[0] != '-': exit(help_str)
39 |
40 | arg = arg[1:]
41 | if not arg: exit(help_str)
42 |
43 | if arg[0] != '-': # just one initial '-'
44 | # arg has to be 'L' or 'N'
45 | if arg == 'L': return True
46 | elif arg == 'N': return False
47 | # (else fall through to exit)
48 | else: # # two initial '-'s
49 | # arg[1:] has to be a substring of either 'LOCKING' or 'NOLOCKING'
50 | arg = arg[1:]
51 | if arg in 'L': return True
52 | elif arg in 'N': return False
53 | # (else fall through to exit)
54 |
55 | exit(help_str)
56 |
57 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/child_loggers/child_loggers.log:
--------------------------------------------------------------------------------
1 | examples.child_logger_main: INFO : 2016-07-09 17:12:47,441: Starting up...
2 | examples.child_logger_main: DEBUG : 2016-07-09 17:12:47,441: Doing something boring with 0
3 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 17:12:47,441: Doing something boring with 0
4 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 17:12:47,441: Doing something boring with 0
5 | examples.child_logger_main: INFO : 2016-07-09 17:12:47,442: Doing something special with 0
6 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 17:12:47,442: Doing something SPECIAL with 0
7 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 17:12:47,442: Doing something SPECIAL with 0
8 | examples.child_logger_main: DEBUG : 2016-07-09 17:12:47,442: Doing something boring with 1
9 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 17:12:47,442: Doing something boring with 1
10 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 17:12:47,442: Doing something boring with 1
11 | examples.child_logger_main: INFO : 2016-07-09 17:12:47,442: Doing something special with 1
12 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 17:12:47,442: Doing something SPECIAL with 1
13 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 17:12:47,442: Doing something SPECIAL with 1
14 | examples.child_logger_main: DEBUG : 2016-07-09 17:12:47,442: Doing something boring with 2
15 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 17:12:47,443: Doing something boring with 2
16 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 17:12:47,443: Doing something boring with 2
17 | examples.child_logger_main: INFO : 2016-07-09 17:12:47,443: Doing something special with 2
18 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 17:12:47,443: Doing something SPECIAL with 2
19 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 17:12:47,443: Doing something SPECIAL with 2
20 | examples.child_logger_main: INFO : 2016-07-09 17:12:47,443: ... shutting down.
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/child_loggers2/child_loggers2.log:
--------------------------------------------------------------------------------
1 | root : INFO : 2016-07-09 17:12:47,444: Starting up...
2 | root : DEBUG : 2016-07-09 17:12:47,444: Doing something boring with 0
3 | examples.child_logger2_sub_noprop : DEBUG : 2016-07-09 17:12:47,444: Doing something boring with 0
4 | examples.child_logger2_sub_prop : DEBUG : 2016-07-09 17:12:47,444: Doing something boring with 0
5 | root : WARNING : 2016-07-09 17:12:47,445: Doing something special with 0
6 | examples.child_logger2_sub_noprop : INFO : 2016-07-09 17:12:47,445: Doing something SPECIAL with 0
7 | examples.child_logger2_sub_prop : INFO : 2016-07-09 17:12:47,445: Doing something SPECIAL with 0
8 | root : DEBUG : 2016-07-09 17:12:47,445: Doing something boring with 1
9 | examples.child_logger2_sub_noprop : DEBUG : 2016-07-09 17:12:47,445: Doing something boring with 1
10 | examples.child_logger2_sub_prop : DEBUG : 2016-07-09 17:12:47,445: Doing something boring with 1
11 | root : WARNING : 2016-07-09 17:12:47,445: Doing something special with 1
12 | examples.child_logger2_sub_noprop : INFO : 2016-07-09 17:12:47,445: Doing something SPECIAL with 1
13 | examples.child_logger2_sub_prop : INFO : 2016-07-09 17:12:47,445: Doing something SPECIAL with 1
14 | root : INFO : 2016-07-09 17:12:47,445: ... shutting down.
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc/check_for_NUL_bytes.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc_LOCKING.log')
16 | check_for_NUL('mproc_NOLOCKING.log')
17 |
18 | '''
19 | '''
20 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc2/check_for_NUL_bytes.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc2_LOCKING.log')
16 | check_for_NUL('mproc2_NOLOCKING.log')
17 |
18 | '''
19 | mproc2_LOCKING.log -- checking for NUL bytes
20 |
21 | mproc2_NOLOCKING.log -- checking for NUL bytes
22 | Line 51 has NUL
23 | '''
24 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco/logfile (NOLOCKING).log:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 17:12:51,997: root : INFO : lat, lon = 0, 0
2 | MainProcess: 2016-07-09 17:12:51,998: root : INFO : lat, lon = 0, 1
3 | MainProcess: 2016-07-09 17:12:51,998: root : INFO : lat, lon = 0, 2
4 | MainProcess: 2016-07-09 17:12:51,998: root : INFO : lat, lon = 0, 3
5 | MainProcess: 2016-07-09 17:12:51,999: root : INFO : lat, lon = 0, 4
6 | MainProcess: 2016-07-09 17:12:51,999: root : INFO : lat, lon = 1, 0
7 | MainProcess: 2016-07-09 17:12:51,999: root : INFO : lat, lon = 1, 1
8 | MainProcess: 2016-07-09 17:12:52,000: root : INFO : lat, lon = 1, 2
9 | MainProcess: 2016-07-09 17:12:52,000: root : INFO : lat, lon = 1, 3
10 | MainProcess: 2016-07-09 17:12:52,000: root : INFO : lat, lon = 1, 4
11 | MainProcess: 2016-07-09 17:12:52,001: root : INFO : lat, lon = 2, 0
12 | MainProcess: 2016-07-09 17:12:52,001: root : INFO : lat, lon = 2, 1
13 | MainProcess: 2016-07-09 17:12:52,001: root : INFO : lat, lon = 2, 2
14 | MainProcess: 2016-07-09 17:12:52,001: root : INFO : lat, lon = 2, 3
15 | MainProcess: 2016-07-09 17:12:52,002: root : INFO : lat, lon = 2, 4
16 | MainProcess: 2016-07-09 17:12:52,002: root : INFO : lat, lon = 3, 0
17 | MainProcess: 2016-07-09 17:12:52,002: root : INFO : lat, lon = 3, 1
18 | MainProcess: 2016-07-09 17:12:52,003: root : INFO : lat, lon = 3, 2
19 | MainProcess: 2016-07-09 17:12:52,003: root : INFO : lat, lon = 3, 3
20 | MainProcess: 2016-07-09 17:12:52,003: root : INFO : lat, lon = 3, 4
21 | MainProcess: 2016-07-09 17:12:52,003: root : INFO : lat, lon = 4, 0
22 | MainProcess: 2016-07-09 17:12:52,003: root : INFO : lat, lon = 4, 1
23 | MainProcess: 2016-07-09 17:12:52,003: root : INFO : lat, lon = 4, 2
24 | MainProcess: 2016-07-09 17:12:52,004: root : INFO : lat, lon = 4, 3
25 | MainProcess: 2016-07-09 17:12:52,004: root : INFO : lat, lon = 4, 4
26 | MainProcess: 2016-07-09 17:12:52,405: root : DEBUG : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558}}
27 | MainProcess: 2016-07-09 17:12:52,405: root : DEBUG : 0.407629013062
28 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/_DELETE:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-42: 2016-07-09 15:50:06,043: root : INFO : processing lat, lon = 5, 2
2 | 5, 2
3 | ForkPoolWorker-43: 2016-07-09 15:50:06,134: root : INFO : processing lat, lon = 5, 4
4 | 5, 4
5 | ForkPoolWorker-41: 2016-07-09 15:50:06,134: root : INFO : processing lat, lon = 5, 3
6 | 5, 3
7 | ForkPoolWorker-42: 2016-07-09 15:50:06,146: root : INFO : processing lat, lon = 5, 5
8 | 5, 5
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log:
--------------------------------------------------------------------------------
1 | PoolWorker-27: 2016-07-09 17:12:54,773: root : INFO : processing lat, lon = 5, 2
2 | 5, 2
3 | PoolWorker-26: 2016-07-09 17:12:54,874: root : INFO : processing lat, lon = 5, 3
4 | 5, 3
5 | PoolWorker-25: 2016-07-09 17:12:54,874: root : INFO : processing lat, lon = 5, 4
6 | 5, 4
7 | PoolWorker-27: 2016-07-09 17:12:54,875: root : INFO : processing lat, lon = 5, 5
8 | 5, 5
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | PoolWorker-26: 2016-07-09 17:12:54,568: root : INFO : processing lat, lon = 4, 0
2 | 4, 0
3 | PoolWorker-25: 2016-07-09 17:12:54,569: root : INFO : processing lat, lon = 4, 1
4 | 4, 1
5 | PoolWorker-27: 2016-07-09 17:12:54,570: root : INFO : processing lat, lon = 4, 2
6 | 4, 2
7 | PoolWorker-26: 2016-07-09 17:12:54,670: root : INFO : processing lat, lon = 4, 3
8 | 4, 3
9 | PoolWorker-25: 2016-07-09 17:12:54,670: root : INFO : processing lat, lon = 4, 4
10 | 4, 4
11 | PoolWorker-27: 2016-07-09 17:12:54,672: root : INFO : processing lat, lon = 4, 5
12 | 4, 5
13 | PoolWorker-26: 2016-07-09 17:12:54,772: root : INFO : processing lat, lon = 5, 0
14 | 5, 0
15 | PoolWorker-25: 2016-07-09 17:12:54,772: root : INFO : processing lat, lon = 5, 1
16 | 5, 1
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.10:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 17:12:52,435: root : INFO : lat, lon = 5, 3
2 | MainProcess: 2016-07-09 17:12:52,436: root : INFO : lat, lon = 5, 4
3 | MainProcess: 2016-07-09 17:12:52,436: root : INFO : lat, lon = 5, 5
4 | PoolWorker-26: 2016-07-09 17:12:52,524: root : INFO : processing lat, lon = 0, 0
5 | 0, 0
6 | PoolWorker-25: 2016-07-09 17:12:52,525: root : INFO : processing lat, lon = 0, 1
7 | 0, 1
8 | PoolWorker-27: 2016-07-09 17:12:52,526: root : INFO : processing lat, lon = 0, 2
9 | 0, 2
10 | PoolWorker-26: 2016-07-09 17:12:52,626: root : INFO : processing lat, lon = 0, 3
11 | 0, 3
12 | PoolWorker-25: 2016-07-09 17:12:52,626: root : INFO : processing lat, lon = 0, 4
13 | 0, 4
14 | PoolWorker-27: 2016-07-09 17:12:52,628: root : INFO : processing lat, lon = 0, 5
15 | 0, 5
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | PoolWorker-27: 2016-07-09 17:12:54,265: root : INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | PoolWorker-25: 2016-07-09 17:12:54,266: root : INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | PoolWorker-26: 2016-07-09 17:12:54,365: root : INFO : processing lat, lon = 3, 0
6 | 3, 0
7 | PoolWorker-25: 2016-07-09 17:12:54,367: root : INFO : processing lat, lon = 3, 2
8 | 3, 2
9 | PoolWorker-27: 2016-07-09 17:12:54,367: root : INFO : processing lat, lon = 3, 1
10 | 3, 1
11 | PoolWorker-26: 2016-07-09 17:12:54,467: root : INFO : processing lat, lon = 3, 3
12 | 3, 3
13 | PoolWorker-25: 2016-07-09 17:12:54,468: root : INFO : processing lat, lon = 3, 4
14 | 3, 4
15 | PoolWorker-27: 2016-07-09 17:12:54,469: root : INFO : processing lat, lon = 3, 5
16 | 3, 5
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | PoolWorker-25: 2016-07-09 17:12:53,959: root : INFO : processing lat, lon = 1, 2
2 | 1, 2
3 | PoolWorker-26: 2016-07-09 17:12:54,061: root : INFO : processing lat, lon = 1, 4
4 | 1, 4
5 | PoolWorker-27: 2016-07-09 17:12:54,061: root : INFO : processing lat, lon = 1, 3
6 | 1, 3
7 | PoolWorker-25: 2016-07-09 17:12:54,063: root : INFO : processing lat, lon = 1, 5
8 | 1, 5
9 | PoolWorker-26: 2016-07-09 17:12:54,163: root : INFO : processing lat, lon = 2, 0
10 | 2, 0
11 | PoolWorker-27: 2016-07-09 17:12:54,163: root : INFO : processing lat, lon = 2, 1
12 | 2, 1
13 | PoolWorker-25: 2016-07-09 17:12:54,164: root : INFO : processing lat, lon = 2, 2
14 | 2, 2
15 | PoolWorker-26: 2016-07-09 17:12:54,264: root : INFO : processing lat, lon = 2, 3
16 | 2, 3
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | PoolWorker-27: 2016-07-09 17:12:53,754: root : INFO : processing lat, lon = 0, 1
2 | 0, 1
3 | PoolWorker-26: 2016-07-09 17:12:53,754: root : INFO : processing lat, lon = 0, 0
4 | 0, 0
5 | PoolWorker-25: 2016-07-09 17:12:53,754: root : INFO : processing lat, lon = 0, 2
6 | 0, 2
7 | PoolWorker-27: 2016-07-09 17:12:53,857: root : INFO : processing lat, lon = 0, 3
8 | 0, 3
9 | PoolWorker-26: 2016-07-09 17:12:53,857: root : INFO : processing lat, lon = 0, 4
10 | 0, 4
11 | PoolWorker-25: 2016-07-09 17:12:53,857: root : INFO : processing lat, lon = 0, 5
12 | 0, 5
13 | PoolWorker-27: 2016-07-09 17:12:53,959: root : INFO : processing lat, lon = 1, 0
14 | 1, 0
15 | PoolWorker-26: 2016-07-09 17:12:53,959: root : INFO : processing lat, lon = 1, 1
16 | 1, 1
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 17:12:53,649: root : INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: 2016-07-09 17:12:53,650: root : INFO : 1.23839998245
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.6:
--------------------------------------------------------------------------------
1 | PoolWorker-27: 2016-07-09 17:12:53,542: root : INFO : processing lat, lon = 5, 1
2 | 5, 1
3 | PoolWorker-26: 2016-07-09 17:12:53,542: root : INFO : processing lat, lon = 5, 0
4 | 5, 0
5 | PoolWorker-25: 2016-07-09 17:12:53,543: root : INFO : processing lat, lon = 5, 2
6 | 5, 2
7 | PoolWorker-26: 2016-07-09 17:12:53,647: root : INFO : processing lat, lon = 5, 4
8 | 5, 4
9 | PoolWorker-27: 2016-07-09 17:12:53,647: root : INFO : processing lat, lon = 5, 3
10 | 5, 3
11 | PoolWorker-25: 2016-07-09 17:12:53,648: root : INFO : processing lat, lon = 5, 5
12 | 5, 5
13 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.7:
--------------------------------------------------------------------------------
1 | PoolWorker-27: 2016-07-09 17:12:53,236: root : INFO : processing lat, lon = 3, 3
2 | 3, 3
3 | PoolWorker-25: 2016-07-09 17:12:53,237: root : INFO : processing lat, lon = 3, 5
4 | 3, 5
5 | PoolWorker-26: 2016-07-09 17:12:53,338: root : INFO : processing lat, lon = 4, 0
6 | 4, 0
7 | PoolWorker-27: 2016-07-09 17:12:53,339: root : INFO : processing lat, lon = 4, 1
8 | 4, 1
9 | PoolWorker-25: 2016-07-09 17:12:53,339: root : INFO : processing lat, lon = 4, 2
10 | 4, 2
11 | PoolWorker-26: 2016-07-09 17:12:53,440: root : INFO : processing lat, lon = 4, 3
12 | 4, 3
13 | PoolWorker-27: 2016-07-09 17:12:53,441: root : INFO : processing lat, lon = 4, 4
14 | 4, 4
15 | PoolWorker-25: 2016-07-09 17:12:53,441: root : INFO : processing lat, lon = 4, 5
16 | 4, 5
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.8:
--------------------------------------------------------------------------------
1 | PoolWorker-25: 2016-07-09 17:12:52,932: root : INFO : processing lat, lon = 2, 2
2 | 2, 2
3 | PoolWorker-26: 2016-07-09 17:12:53,033: root : INFO : processing lat, lon = 2, 3
4 | 2, 3
5 | PoolWorker-27: 2016-07-09 17:12:53,033: root : INFO : processing lat, lon = 2, 4
6 | 2, 4
7 | PoolWorker-25: 2016-07-09 17:12:53,034: root : INFO : processing lat, lon = 2, 5
8 | 2, 5
9 | PoolWorker-27: 2016-07-09 17:12:53,134: root : INFO : processing lat, lon = 3, 1
10 | 3, 1
11 | PoolWorker-26: 2016-07-09 17:12:53,134: root : INFO : processing lat, lon = 3, 0
12 | 3, 0
13 | PoolWorker-25: 2016-07-09 17:12:53,136: root : INFO : processing lat, lon = 3, 2
14 | 3, 2
15 | PoolWorker-26: 2016-07-09 17:12:53,236: root : INFO : processing lat, lon = 3, 4
16 | 3, 4
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/LOCKING/rot_fh.log.9:
--------------------------------------------------------------------------------
1 | PoolWorker-26: 2016-07-09 17:12:52,728: root : INFO : processing lat, lon = 1, 0
2 | 1, 0
3 | PoolWorker-25: 2016-07-09 17:12:52,728: root : INFO : processing lat, lon = 1, 1
4 | 1, 1
5 | PoolWorker-27: 2016-07-09 17:12:52,729: root : INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | PoolWorker-26: 2016-07-09 17:12:52,830: root : INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | PoolWorker-27: 2016-07-09 17:12:52,830: root : INFO : processing lat, lon = 1, 5
10 | 1, 5
11 | PoolWorker-25: 2016-07-09 17:12:52,830: root : INFO : processing lat, lon = 1, 4
12 | 1, 4
13 | PoolWorker-26: 2016-07-09 17:12:52,931: root : INFO : processing lat, lon = 2, 0
14 | 2, 0
15 | PoolWorker-27: 2016-07-09 17:12:52,932: root : INFO : processing lat, lon = 2, 1
16 | 2, 1
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/NOLOCKING/_DELETE:
--------------------------------------------------------------------------------
1 | 2016-07-09 15:50:06,148: root : INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | 2016-07-09 15:50:06,155: root : INFO : 1.3394660949707031
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/NOLOCKING/rot_fh.log:
--------------------------------------------------------------------------------
1 | 2016-07-09 17:12:54,876: root : INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | 2016-07-09 17:12:54,877: root : INFO : 1.22511196136
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | 2016-07-09 17:12:53,659: root : INFO : lat, lon = 4, 4
2 | 2016-07-09 17:12:53,660: root : INFO : lat, lon = 4, 5
3 | 2016-07-09 17:12:53,660: root : INFO : lat, lon = 5, 0
4 | 2016-07-09 17:12:53,661: root : INFO : lat, lon = 5, 1
5 | 2016-07-09 17:12:53,661: root : INFO : lat, lon = 5, 2
6 | 2016-07-09 17:12:53,661: root : INFO : lat, lon = 5, 3
7 | 2016-07-09 17:12:53,661: root : INFO : lat, lon = 5, 4
8 | 2016-07-09 17:12:53,661: root : INFO : lat, lon = 5, 5
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | 2016-07-09 17:12:53,656: root : INFO : lat, lon = 2, 2
2 | 2016-07-09 17:12:53,657: root : INFO : lat, lon = 2, 3
3 | 2016-07-09 17:12:53,657: root : INFO : lat, lon = 2, 4
4 | 2016-07-09 17:12:53,657: root : INFO : lat, lon = 2, 5
5 | 2016-07-09 17:12:53,658: root : INFO : lat, lon = 3, 0
6 | 2016-07-09 17:12:53,658: root : INFO : lat, lon = 3, 1
7 | 2016-07-09 17:12:53,658: root : INFO : lat, lon = 3, 2
8 | 2016-07-09 17:12:53,658: root : INFO : lat, lon = 3, 3
9 | 2016-07-09 17:12:53,658: root : INFO : lat, lon = 3, 4
10 | 2016-07-09 17:12:53,659: root : INFO : lat, lon = 3, 5
11 | 2016-07-09 17:12:53,659: root : INFO : lat, lon = 4, 0
12 | 2016-07-09 17:12:53,659: root : INFO : lat, lon = 4, 1
13 | 2016-07-09 17:12:53,659: root : INFO : lat, lon = 4, 2
14 | 2016-07-09 17:12:53,659: root : INFO : lat, lon = 4, 3
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | 2016-07-09 17:12:53,652: root : INFO : lat, lon = 0, 0
2 | 2016-07-09 17:12:53,652: root : INFO : lat, lon = 0, 1
3 | 2016-07-09 17:12:53,653: root : INFO : lat, lon = 0, 2
4 | 2016-07-09 17:12:53,653: root : INFO : lat, lon = 0, 3
5 | 2016-07-09 17:12:53,654: root : INFO : lat, lon = 0, 4
6 | 2016-07-09 17:12:53,654: root : INFO : lat, lon = 0, 5
7 | 2016-07-09 17:12:53,654: root : INFO : lat, lon = 1, 0
8 | 2016-07-09 17:12:53,654: root : INFO : lat, lon = 1, 1
9 | 2016-07-09 17:12:53,655: root : INFO : lat, lon = 1, 2
10 | 2016-07-09 17:12:53,655: root : INFO : lat, lon = 1, 3
11 | 2016-07-09 17:12:53,655: root : INFO : lat, lon = 1, 4
12 | 2016-07-09 17:12:53,656: root : INFO : lat, lon = 1, 5
13 | 2016-07-09 17:12:53,656: root : INFO : lat, lon = 2, 0
14 | 2016-07-09 17:12:53,656: root : INFO : lat, lon = 2, 1
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/root_logger/logfile.log:
--------------------------------------------------------------------------------
1 | WARNING : 2. Log to both file and console
2 | DEBUG : 3. Log to file only
3 | WARNING : 4. Log to both file and console
4 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/rot_fh/_DEL:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/rot_fh/rot_fh.log:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/rot_fh/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/rot_fh/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--2.7-runs/rot_fh/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/child_loggers/OLD child_loggers_stderr.txt:
--------------------------------------------------------------------------------
1 | __main__ : INFO : Starting up...
2 | __main__.sub_noprop : DEBUG : Doing something boring with 0
3 | __main__ : INFO : Doing something special with 0
4 | __main__.sub_noprop : INFO : Doing something SPECIAL with 0
5 | __main__.sub_prop : INFO : Doing something SPECIAL with 0
6 | __main__.sub_noprop : DEBUG : Doing something boring with 1
7 | __main__ : INFO : Doing something special with 1
8 | __main__.sub_noprop : INFO : Doing something SPECIAL with 1
9 | __main__.sub_prop : INFO : Doing something SPECIAL with 1
10 | __main__.sub_noprop : DEBUG : Doing something boring with 2
11 | __main__ : INFO : Doing something special with 2
12 | __main__.sub_noprop : INFO : Doing something SPECIAL with 2
13 | __main__.sub_prop : INFO : Doing something SPECIAL with 2
14 | __main__ : INFO : ... shutting down.
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/child_loggers/child_loggers.log:
--------------------------------------------------------------------------------
1 | examples.child_logger_main: INFO : 2016-07-09 01:10:35,102: Starting up...
2 | examples.child_logger_main: DEBUG : 2016-07-09 01:10:35,102: Doing something boring with 0
3 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 01:10:35,102: Doing something boring with 0
4 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 01:10:35,102: Doing something boring with 0
5 | examples.child_logger_main: INFO : 2016-07-09 01:10:35,103: Doing something special with 0
6 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 01:10:35,103: Doing something SPECIAL with 0
7 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 01:10:35,103: Doing something SPECIAL with 0
8 | examples.child_logger_main: DEBUG : 2016-07-09 01:10:35,103: Doing something boring with 1
9 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 01:10:35,103: Doing something boring with 1
10 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 01:10:35,103: Doing something boring with 1
11 | examples.child_logger_main: INFO : 2016-07-09 01:10:35,103: Doing something special with 1
12 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 01:10:35,103: Doing something SPECIAL with 1
13 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 01:10:35,103: Doing something SPECIAL with 1
14 | examples.child_logger_main: DEBUG : 2016-07-09 01:10:35,103: Doing something boring with 2
15 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 01:10:35,103: Doing something boring with 2
16 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 01:10:35,103: Doing something boring with 2
17 | examples.child_logger_main: INFO : 2016-07-09 01:10:35,103: Doing something special with 2
18 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 01:10:35,103: Doing something SPECIAL with 2
19 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 01:10:35,104: Doing something SPECIAL with 2
20 | examples.child_logger_main: INFO : 2016-07-09 01:10:35,104: ... shutting down.
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/child_loggers2/OLD child_loggers2_stderr.txt:
--------------------------------------------------------------------------------
1 | root : INFO : Starting up...
2 | examples.child_logger2_sub_noprop : DEBUG : Doing something boring with 0
3 | root : WARNING : Doing something special with 0
4 | examples.child_logger2_sub_noprop : INFO : Doing something SPECIAL with 0
5 | examples.child_logger2_sub_prop : INFO : Doing something SPECIAL with 0
6 | examples.child_logger2_sub_noprop : DEBUG : Doing something boring with 1
7 | root : WARNING : Doing something special with 1
8 | examples.child_logger2_sub_noprop : INFO : Doing something SPECIAL with 1
9 | examples.child_logger2_sub_prop : INFO : Doing something SPECIAL with 1
10 | root : INFO : ... shutting down.
11 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/child_loggers2/child_loggers2.log:
--------------------------------------------------------------------------------
1 | root : INFO : 2016-07-09 01:10:35,105: Starting up...
2 | root : DEBUG : 2016-07-09 01:10:35,105: Doing something boring with 0
3 | examples.child_logger2_sub_noprop : DEBUG : 2016-07-09 01:10:35,105: Doing something boring with 0
4 | examples.child_logger2_sub_prop : DEBUG : 2016-07-09 01:10:35,105: Doing something boring with 0
5 | root : WARNING : 2016-07-09 01:10:35,105: Doing something special with 0
6 | examples.child_logger2_sub_noprop : INFO : 2016-07-09 01:10:35,105: Doing something SPECIAL with 0
7 | examples.child_logger2_sub_prop : INFO : 2016-07-09 01:10:35,105: Doing something SPECIAL with 0
8 | root : DEBUG : 2016-07-09 01:10:35,105: Doing something boring with 1
9 | examples.child_logger2_sub_noprop : DEBUG : 2016-07-09 01:10:35,105: Doing something boring with 1
10 | examples.child_logger2_sub_prop : DEBUG : 2016-07-09 01:10:35,105: Doing something boring with 1
11 | root : WARNING : 2016-07-09 01:10:35,105: Doing something special with 1
12 | examples.child_logger2_sub_noprop : INFO : 2016-07-09 01:10:35,105: Doing something SPECIAL with 1
13 | examples.child_logger2_sub_prop : INFO : 2016-07-09 01:10:35,105: Doing something SPECIAL with 1
14 | root : INFO : 2016-07-09 01:10:35,106: ... shutting down.
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc/NOLOCKING-has-NULbytes.txt:
--------------------------------------------------------------------------------
1 | mproc_LOCKING.log -- checking for NUL bytes
2 |
3 | mproc_NOLOCKING.log -- checking for NUL bytes
4 | Line 15 has NUL
5 | Process-7 : __main__ : INFO : 2016-07-09 02:25:43,934: 3: 42
6 |
7 | Line 17 has NUL
8 | Process-6 : __main__ : INFO : 2016-07-09 02:25:43,983: 2: 21
9 |
10 | Line 23 has NUL
11 | Process-7 : __main__ : INFO : 2016-07-09 02:25:43,985: 3: 44
12 |
13 | Line 33 has NUL
14 | Process-5 : __main__ : INFO : 2016-07-09 02:25:44,036: 1: 6
15 |
16 | Line 35 has NUL
17 | Process-6 : __main__ : INFO : 2016-07-09 02:25:44,084: 2: 23
18 |
19 | Line 45 has NUL
20 | Process-7 : __main__ : INFO : 2016-07-09 02:25:44,087: 3: 48
21 |
22 | Line 47 has NUL
23 | Process-7 : __main__ : INFO : 2016-07-09 02:25:44,138: 3: 49
24 |
25 | Line 49 has NUL
26 | Process-7 : __main__ : INFO : 2016-07-09 02:25:44,139: 3: 50
27 |
28 | Line 51 has NUL
29 | Process-6 : __main__ : INFO : 2016-07-09 02:25:44,186: 2: 25
30 |
31 | Line 69 has NUL
32 | Process-5 : __main__ : INFO : 2016-07-09 02:25:44,242: 1: 14
33 |
34 | Line 71 has NUL
35 | Process-6 : __main__ : INFO : 2016-07-09 02:25:44,288: 2: 27
36 |
37 | Line 89 has NUL
38 | Process-5 : __main__ : INFO : 2016-07-09 02:25:44,344: 1: 18
39 |
40 | Line 91 has NUL
41 | Process-6 : __main__ : INFO : 2016-07-09 02:25:44,389: 2: 29
42 |
43 | Line 101 has NUL
44 | Process-7 : __main__ : INFO : 2016-07-09 02:25:44,395: >>>>>> Bye from process-3
45 |
46 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc/check_for_NUL_bytes.py~HEAD:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc_LOCKING.log')
16 | check_for_NUL('mproc_NOLOCKING.log')
17 |
18 | '''
19 | '''
20 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc/check_for_NUL_bytes.py~develop:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc_LOCKING.log')
16 | check_for_NUL('mproc_NOLOCKING.log')
17 |
18 | '''
19 | '''
20 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc2/check_for_NUL_bytes.py~HEAD:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc2_LOCKING.log')
16 | check_for_NUL('mproc2_NOLOCKING.log')
17 |
18 | '''
19 | mproc2_LOCKING.log -- checking for NUL bytes
20 |
21 | mproc2_NOLOCKING.log -- checking for NUL bytes
22 | Line 51 has NUL
23 | Process-5 : root : INFO : 2016-07-09 02:31:42,086: 1: 7
24 |
25 | '''
26 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc2/check_for_NUL_bytes.py~develop:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc2_LOCKING.log')
16 | check_for_NUL('mproc2_NOLOCKING.log')
17 |
18 | '''
19 | mproc2_LOCKING.log -- checking for NUL bytes
20 |
21 | mproc2_NOLOCKING.log -- checking for NUL bytes
22 | Line 51 has NUL
23 | Process-5 : root : INFO : 2016-07-09 02:31:42,086: 1: 7
24 |
25 | '''
26 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc2/mproc2-NOLOCKING-has-NULbytes.txt:
--------------------------------------------------------------------------------
1 | mproc2_LOCKING.log -- checking for NUL bytes
2 |
3 | mproc2_NOLOCKING.log -- checking for NUL bytes
4 | Line 51 has NUL
5 | Process-5 : root : INFO : 2016-07-09 02:31:42,086: 1: 7
6 |
7 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:42,545: INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: 2016-06-30 13:40:42,547: INFO : 1.2741289138793945
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-06-30 13:40:42,237: INFO : processing lat, lon = 4, 1
2 | 4, 1
3 | ForkPoolWorker-1: 2016-06-30 13:40:42,311: INFO : processing lat, lon = 4, 3
4 | 4, 3
5 | ForkPoolWorker-3: 2016-06-30 13:40:42,339: INFO : processing lat, lon = 4, 4
6 | 4, 4
7 | ForkPoolWorker-2: 2016-06-30 13:40:42,340: INFO : processing lat, lon = 4, 5
8 | 4, 5
9 | ForkPoolWorker-1: 2016-06-30 13:40:42,413: INFO : processing lat, lon = 5, 0
10 | 5, 0
11 | ForkPoolWorker-3: 2016-06-30 13:40:42,441: INFO : processing lat, lon = 5, 1
12 | 5, 1
13 | ForkPoolWorker-2: 2016-06-30 13:40:42,441: INFO : processing lat, lon = 5, 2
14 | 5, 2
15 | ForkPoolWorker-1: 2016-06-30 13:40:42,515: INFO : processing lat, lon = 5, 3
16 | 5, 3
17 | ForkPoolWorker-3: 2016-06-30 13:40:42,543: INFO : processing lat, lon = 5, 4
18 | 5, 4
19 | ForkPoolWorker-2: 2016-06-30 13:40:42,543: INFO : processing lat, lon = 5, 5
20 | 5, 5
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-06-30 13:40:41,931: INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | ForkPoolWorker-3: 2016-06-30 13:40:41,931: INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | ForkPoolWorker-1: 2016-06-30 13:40:42,005: INFO : processing lat, lon = 3, 0
6 | 3, 0
7 | ForkPoolWorker-3: 2016-06-30 13:40:42,033: INFO : processing lat, lon = 3, 2
8 | 3, 2
9 | ForkPoolWorker-2: 2016-06-30 13:40:42,033: INFO : processing lat, lon = 3, 1
10 | 3, 1
11 | ForkPoolWorker-1: 2016-06-30 13:40:42,107: INFO : processing lat, lon = 3, 3
12 | 3, 3
13 | ForkPoolWorker-2: 2016-06-30 13:40:42,135: INFO : processing lat, lon = 3, 5
14 | 3, 5
15 | ForkPoolWorker-3: 2016-06-30 13:40:42,135: INFO : processing lat, lon = 3, 4
16 | 3, 4
17 | ForkPoolWorker-1: 2016-06-30 13:40:42,209: INFO : processing lat, lon = 4, 0
18 | 4, 0
19 | ForkPoolWorker-3: 2016-06-30 13:40:42,237: INFO : processing lat, lon = 4, 2
20 | 4, 2
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-06-30 13:40:41,598: INFO : processing lat, lon = 1, 0
2 | 1, 0
3 | ForkPoolWorker-2: 2016-06-30 13:40:41,618: INFO : processing lat, lon = 1, 1
4 | 1, 1
5 | ForkPoolWorker-3: 2016-06-30 13:40:41,619: INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | ForkPoolWorker-1: 2016-06-30 13:40:41,700: INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | ForkPoolWorker-2: 2016-06-30 13:40:41,728: INFO : processing lat, lon = 1, 4
10 | 1, 4
11 | ForkPoolWorker-3: 2016-06-30 13:40:41,728: INFO : processing lat, lon = 1, 5
12 | 1, 5
13 | ForkPoolWorker-1: 2016-06-30 13:40:41,802: INFO : processing lat, lon = 2, 0
14 | 2, 0
15 | ForkPoolWorker-2: 2016-06-30 13:40:41,829: INFO : processing lat, lon = 2, 1
16 | 2, 1
17 | ForkPoolWorker-3: 2016-06-30 13:40:41,830: INFO : processing lat, lon = 2, 2
18 | 2, 2
19 | ForkPoolWorker-1: 2016-06-30 13:40:41,904: INFO : processing lat, lon = 2, 3
20 | 2, 3
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:41,302: INFO : lat, lon = 5, 0
2 | MainProcess: 2016-06-30 13:40:41,303: INFO : lat, lon = 5, 1
3 | MainProcess: 2016-06-30 13:40:41,303: INFO : lat, lon = 5, 2
4 | MainProcess: 2016-06-30 13:40:41,304: INFO : lat, lon = 5, 3
5 | MainProcess: 2016-06-30 13:40:41,304: INFO : lat, lon = 5, 4
6 | MainProcess: 2016-06-30 13:40:41,304: INFO : lat, lon = 5, 5
7 | ForkPoolWorker-1: 2016-06-30 13:40:41,393: INFO : processing lat, lon = 0, 0
8 | 0, 0
9 | ForkPoolWorker-2: 2016-06-30 13:40:41,394: INFO : processing lat, lon = 0, 1
10 | 0, 1
11 | ForkPoolWorker-3: 2016-06-30 13:40:41,395: INFO : processing lat, lon = 0, 2
12 | 0, 2
13 | ForkPoolWorker-1: 2016-06-30 13:40:41,496: INFO : processing lat, lon = 0, 3
14 | 0, 3
15 | ForkPoolWorker-2: 2016-06-30 13:40:41,517: INFO : processing lat, lon = 0, 4
16 | 0, 4
17 | ForkPoolWorker-3: 2016-06-30 13:40:41,517: INFO : processing lat, lon = 0, 5
18 | 0, 5
19 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:41,297: INFO : lat, lon = 2, 3
2 | MainProcess: 2016-06-30 13:40:41,298: INFO : lat, lon = 2, 4
3 | MainProcess: 2016-06-30 13:40:41,298: INFO : lat, lon = 2, 5
4 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 0
5 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 1
6 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 2
7 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 3
8 | MainProcess: 2016-06-30 13:40:41,300: INFO : lat, lon = 3, 4
9 | MainProcess: 2016-06-30 13:40:41,300: INFO : lat, lon = 3, 5
10 | MainProcess: 2016-06-30 13:40:41,300: INFO : lat, lon = 4, 0
11 | MainProcess: 2016-06-30 13:40:41,301: INFO : lat, lon = 4, 1
12 | MainProcess: 2016-06-30 13:40:41,301: INFO : lat, lon = 4, 2
13 | MainProcess: 2016-06-30 13:40:41,301: INFO : lat, lon = 4, 3
14 | MainProcess: 2016-06-30 13:40:41,302: INFO : lat, lon = 4, 4
15 | MainProcess: 2016-06-30 13:40:41,302: INFO : lat, lon = 4, 5
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.6:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:41,280: INFO : lat, lon = 0, 0
2 | MainProcess: 2016-06-30 13:40:41,290: INFO : lat, lon = 0, 1
3 | MainProcess: 2016-06-30 13:40:41,292: INFO : lat, lon = 0, 2
4 | MainProcess: 2016-06-30 13:40:41,292: INFO : lat, lon = 0, 3
5 | MainProcess: 2016-06-30 13:40:41,293: INFO : lat, lon = 0, 4
6 | MainProcess: 2016-06-30 13:40:41,294: INFO : lat, lon = 0, 5
7 | MainProcess: 2016-06-30 13:40:41,294: INFO : lat, lon = 1, 0
8 | MainProcess: 2016-06-30 13:40:41,294: INFO : lat, lon = 1, 1
9 | MainProcess: 2016-06-30 13:40:41,295: INFO : lat, lon = 1, 2
10 | MainProcess: 2016-06-30 13:40:41,295: INFO : lat, lon = 1, 3
11 | MainProcess: 2016-06-30 13:40:41,296: INFO : lat, lon = 1, 4
12 | MainProcess: 2016-06-30 13:40:41,296: INFO : lat, lon = 1, 5
13 | MainProcess: 2016-06-30 13:40:41,296: INFO : lat, lon = 2, 0
14 | MainProcess: 2016-06-30 13:40:41,297: INFO : lat, lon = 2, 1
15 | MainProcess: 2016-06-30 13:40:41,297: INFO : lat, lon = 2, 2
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:04,864: INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: 2016-06-30 13:44:04,866: INFO : 1.2764499187469482
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-06-30 13:44:04,558: INFO : processing lat, lon = 4, 2
2 | 4, 2
3 | ForkPoolWorker-1: 2016-06-30 13:44:04,626: INFO : processing lat, lon = 4, 3
4 | 4, 3
5 | ForkPoolWorker-3: 2016-06-30 13:44:04,658: INFO : processing lat, lon = 4, 4
6 | 4, 4
7 | ForkPoolWorker-2: 2016-06-30 13:44:04,659: INFO : processing lat, lon = 4, 5
8 | 4, 5
9 | ForkPoolWorker-1: 2016-06-30 13:44:04,728: INFO : processing lat, lon = 5, 0
10 | 5, 0
11 | ForkPoolWorker-3: 2016-06-30 13:44:04,760: INFO : processing lat, lon = 5, 1
12 | 5, 1
13 | ForkPoolWorker-2: 2016-06-30 13:44:04,760: INFO : processing lat, lon = 5, 2
14 | 5, 2
15 | ForkPoolWorker-1: 2016-06-30 13:44:04,830: INFO : processing lat, lon = 5, 3
16 | 5, 3
17 | ForkPoolWorker-3: 2016-06-30 13:44:04,863: INFO : processing lat, lon = 5, 4
18 | 5, 4
19 | ForkPoolWorker-2: 2016-06-30 13:44:04,863: INFO : processing lat, lon = 5, 5
20 | 5, 5
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: 2016-06-30 13:44:04,251: INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | ForkPoolWorker-2: 2016-06-30 13:44:04,253: INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | ForkPoolWorker-1: 2016-06-30 13:44:04,322: INFO : processing lat, lon = 3, 0
6 | 3, 0
7 | ForkPoolWorker-3: 2016-06-30 13:44:04,353: INFO : processing lat, lon = 3, 1
8 | 3, 1
9 | ForkPoolWorker-2: 2016-06-30 13:44:04,355: INFO : processing lat, lon = 3, 2
10 | 3, 2
11 | ForkPoolWorker-1: 2016-06-30 13:44:04,423: INFO : processing lat, lon = 3, 3
12 | 3, 3
13 | ForkPoolWorker-3: 2016-06-30 13:44:04,455: INFO : processing lat, lon = 3, 4
14 | 3, 4
15 | ForkPoolWorker-2: 2016-06-30 13:44:04,456: INFO : processing lat, lon = 3, 5
16 | 3, 5
17 | ForkPoolWorker-1: 2016-06-30 13:44:04,525: INFO : processing lat, lon = 4, 0
18 | 4, 0
19 | ForkPoolWorker-3: 2016-06-30 13:44:04,556: INFO : processing lat, lon = 4, 1
20 | 4, 1
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-06-30 13:44:03,915: INFO : processing lat, lon = 1, 0
2 | 1, 0
3 | ForkPoolWorker-3: 2016-06-30 13:44:03,947: INFO : processing lat, lon = 1, 1
4 | 1, 1
5 | ForkPoolWorker-2: 2016-06-30 13:44:03,947: INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | ForkPoolWorker-1: 2016-06-30 13:44:04,016: INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | ForkPoolWorker-3: 2016-06-30 13:44:04,049: INFO : processing lat, lon = 1, 4
10 | 1, 4
11 | ForkPoolWorker-2: 2016-06-30 13:44:04,049: INFO : processing lat, lon = 1, 5
12 | 1, 5
13 | ForkPoolWorker-1: 2016-06-30 13:44:04,118: INFO : processing lat, lon = 2, 0
14 | 2, 0
15 | ForkPoolWorker-3: 2016-06-30 13:44:04,150: INFO : processing lat, lon = 2, 1
16 | 2, 1
17 | ForkPoolWorker-2: 2016-06-30 13:44:04,151: INFO : processing lat, lon = 2, 2
18 | 2, 2
19 | ForkPoolWorker-1: 2016-06-30 13:44:04,220: INFO : processing lat, lon = 2, 3
20 | 2, 3
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:03,619: INFO : lat, lon = 5, 0
2 | MainProcess: 2016-06-30 13:44:03,620: INFO : lat, lon = 5, 1
3 | MainProcess: 2016-06-30 13:44:03,620: INFO : lat, lon = 5, 2
4 | MainProcess: 2016-06-30 13:44:03,621: INFO : lat, lon = 5, 3
5 | MainProcess: 2016-06-30 13:44:03,621: INFO : lat, lon = 5, 4
6 | MainProcess: 2016-06-30 13:44:03,621: INFO : lat, lon = 5, 5
7 | ForkPoolWorker-1: 2016-06-30 13:44:03,709: INFO : processing lat, lon = 0, 0
8 | 0, 0
9 | ForkPoolWorker-2: 2016-06-30 13:44:03,710: INFO : processing lat, lon = 0, 1
10 | 0, 1
11 | ForkPoolWorker-3: 2016-06-30 13:44:03,712: INFO : processing lat, lon = 0, 2
12 | 0, 2
13 | ForkPoolWorker-1: 2016-06-30 13:44:03,812: INFO : processing lat, lon = 0, 3
14 | 0, 3
15 | ForkPoolWorker-3: 2016-06-30 13:44:03,839: INFO : processing lat, lon = 0, 5
16 | 0, 5
17 | ForkPoolWorker-2: 2016-06-30 13:44:03,839: INFO : processing lat, lon = 0, 4
18 | 0, 4
19 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:03,614: INFO : lat, lon = 2, 3
2 | MainProcess: 2016-06-30 13:44:03,615: INFO : lat, lon = 2, 4
3 | MainProcess: 2016-06-30 13:44:03,615: INFO : lat, lon = 2, 5
4 | MainProcess: 2016-06-30 13:44:03,616: INFO : lat, lon = 3, 0
5 | MainProcess: 2016-06-30 13:44:03,616: INFO : lat, lon = 3, 1
6 | MainProcess: 2016-06-30 13:44:03,616: INFO : lat, lon = 3, 2
7 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 3, 3
8 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 3, 4
9 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 3, 5
10 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 4, 0
11 | MainProcess: 2016-06-30 13:44:03,618: INFO : lat, lon = 4, 1
12 | MainProcess: 2016-06-30 13:44:03,618: INFO : lat, lon = 4, 2
13 | MainProcess: 2016-06-30 13:44:03,618: INFO : lat, lon = 4, 3
14 | MainProcess: 2016-06-30 13:44:03,619: INFO : lat, lon = 4, 4
15 | MainProcess: 2016-06-30 13:44:03,619: INFO : lat, lon = 4, 5
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.6:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:03,597: INFO : lat, lon = 0, 0
2 | MainProcess: 2016-06-30 13:44:03,607: INFO : lat, lon = 0, 1
3 | MainProcess: 2016-06-30 13:44:03,609: INFO : lat, lon = 0, 2
4 | MainProcess: 2016-06-30 13:44:03,609: INFO : lat, lon = 0, 3
5 | MainProcess: 2016-06-30 13:44:03,610: INFO : lat, lon = 0, 4
6 | MainProcess: 2016-06-30 13:44:03,610: INFO : lat, lon = 0, 5
7 | MainProcess: 2016-06-30 13:44:03,611: INFO : lat, lon = 1, 0
8 | MainProcess: 2016-06-30 13:44:03,611: INFO : lat, lon = 1, 1
9 | MainProcess: 2016-06-30 13:44:03,611: INFO : lat, lon = 1, 2
10 | MainProcess: 2016-06-30 13:44:03,612: INFO : lat, lon = 1, 3
11 | MainProcess: 2016-06-30 13:44:03,612: INFO : lat, lon = 1, 4
12 | MainProcess: 2016-06-30 13:44:03,613: INFO : lat, lon = 1, 5
13 | MainProcess: 2016-06-30 13:44:03,613: INFO : lat, lon = 2, 0
14 | MainProcess: 2016-06-30 13:44:03,614: INFO : lat, lon = 2, 1
15 | MainProcess: 2016-06-30 13:44:03,614: INFO : lat, lon = 2, 2
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: INFO : 1.2544889450073242
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: INFO : processing lat, lon = 0, 2
2 | 0, 2
3 | ForkPoolWorker-3: INFO : processing lat, lon = 0, 5
4 | 0, 5
5 | ForkPoolWorker-3: INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | ForkPoolWorker-3: INFO : processing lat, lon = 1, 5
8 | 1, 5
9 | ForkPoolWorker-3: INFO : processing lat, lon = 2, 2
10 | 2, 2
11 | ForkPoolWorker-3: INFO : processing lat, lon = 2, 5
12 | 2, 5
13 | ForkPoolWorker-3: INFO : processing lat, lon = 3, 2
14 | 3, 2
15 | ForkPoolWorker-3: INFO : processing lat, lon = 3, 5
16 | 3, 5
17 | ForkPoolWorker-3: INFO : processing lat, lon = 4, 2
18 | 4, 2
19 | ForkPoolWorker-3: INFO : processing lat, lon = 4, 5
20 | 4, 5
21 | ForkPoolWorker-3: INFO : processing lat, lon = 5, 2
22 | 5, 2
23 | ForkPoolWorker-3: INFO : processing lat, lon = 5, 5
24 | 5, 5
25 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: INFO : processing lat, lon = 0, 1
2 | 0, 1
3 | ForkPoolWorker-2: INFO : processing lat, lon = 0, 4
4 | 0, 4
5 | ForkPoolWorker-2: INFO : processing lat, lon = 1, 1
6 | 1, 1
7 | ForkPoolWorker-2: INFO : processing lat, lon = 1, 4
8 | 1, 4
9 | ForkPoolWorker-2: INFO : processing lat, lon = 2, 1
10 | 2, 1
11 | ForkPoolWorker-2: INFO : processing lat, lon = 2, 4
12 | 2, 4
13 | ForkPoolWorker-2: INFO : processing lat, lon = 3, 1
14 | 3, 1
15 | ForkPoolWorker-2: INFO : processing lat, lon = 3, 4
16 | 3, 4
17 | ForkPoolWorker-2: INFO : processing lat, lon = 4, 0
18 | 4, 0
19 | ForkPoolWorker-2: INFO : processing lat, lon = 4, 4
20 | 4, 4
21 | ForkPoolWorker-2: INFO : processing lat, lon = 5, 0
22 | 5, 0
23 | ForkPoolWorker-2: INFO : processing lat, lon = 5, 4
24 | 5, 4
25 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: INFO : processing lat, lon = 0, 0
2 | 0, 0
3 | ForkPoolWorker-1: INFO : processing lat, lon = 0, 3
4 | 0, 3
5 | ForkPoolWorker-1: INFO : processing lat, lon = 1, 0
6 | 1, 0
7 | ForkPoolWorker-1: INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | ForkPoolWorker-1: INFO : processing lat, lon = 2, 0
10 | 2, 0
11 | ForkPoolWorker-1: INFO : processing lat, lon = 2, 3
12 | 2, 3
13 | ForkPoolWorker-1: INFO : processing lat, lon = 3, 0
14 | 3, 0
15 | ForkPoolWorker-1: INFO : processing lat, lon = 3, 3
16 | 3, 3
17 | ForkPoolWorker-1: INFO : processing lat, lon = 4, 1
18 | 4, 1
19 | ForkPoolWorker-1: INFO : processing lat, lon = 4, 3
20 | 4, 3
21 | ForkPoolWorker-1: INFO : processing lat, lon = 5, 1
22 | 5, 1
23 | ForkPoolWorker-1: INFO : processing lat, lon = 5, 3
24 | 5, 3
25 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | MainProcess: INFO : lat, lon = 4, 2
2 | MainProcess: INFO : lat, lon = 4, 3
3 | MainProcess: INFO : lat, lon = 4, 4
4 | MainProcess: INFO : lat, lon = 4, 5
5 | MainProcess: INFO : lat, lon = 5, 0
6 | MainProcess: INFO : lat, lon = 5, 1
7 | MainProcess: INFO : lat, lon = 5, 2
8 | MainProcess: INFO : lat, lon = 5, 3
9 | MainProcess: INFO : lat, lon = 5, 4
10 | MainProcess: INFO : lat, lon = 5, 5
11 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: INFO : lat, lon = 0, 0
2 | MainProcess: INFO : lat, lon = 0, 1
3 | MainProcess: INFO : lat, lon = 0, 2
4 | MainProcess: INFO : lat, lon = 0, 3
5 | MainProcess: INFO : lat, lon = 0, 4
6 | MainProcess: INFO : lat, lon = 0, 5
7 | MainProcess: INFO : lat, lon = 1, 0
8 | MainProcess: INFO : lat, lon = 1, 1
9 | MainProcess: INFO : lat, lon = 1, 2
10 | MainProcess: INFO : lat, lon = 1, 3
11 | MainProcess: INFO : lat, lon = 1, 4
12 | MainProcess: INFO : lat, lon = 1, 5
13 | MainProcess: INFO : lat, lon = 2, 0
14 | MainProcess: INFO : lat, lon = 2, 1
15 | MainProcess: INFO : lat, lon = 2, 2
16 | MainProcess: INFO : lat, lon = 2, 3
17 | MainProcess: INFO : lat, lon = 2, 4
18 | MainProcess: INFO : lat, lon = 2, 5
19 | MainProcess: INFO : lat, lon = 3, 0
20 | MainProcess: INFO : lat, lon = 3, 1
21 | MainProcess: INFO : lat, lon = 3, 2
22 | MainProcess: INFO : lat, lon = 3, 3
23 | MainProcess: INFO : lat, lon = 3, 4
24 | MainProcess: INFO : lat, lon = 3, 5
25 | MainProcess: INFO : lat, lon = 4, 0
26 | MainProcess: INFO : lat, lon = 4, 1
27 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/_temp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/_temp
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: 2016-07-09 15:01:38,237: root : INFO : processing lat, lon = 5, 2
2 | 5, 2
3 | ForkPoolWorker-1: 2016-07-09 15:01:38,315: root : INFO : processing lat, lon = 5, 3
4 | 5, 3
5 | ForkPoolWorker-2: 2016-07-09 15:01:38,329: root : INFO : processing lat, lon = 5, 4
6 | 5, 4
7 | ForkPoolWorker-3: 2016-07-09 15:01:38,466: root : INFO : processing lat, lon = 5, 5
8 | 5, 5
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-07-09 15:01:37,579: root : INFO : processing lat, lon = 4, 0
2 | 4, 0
3 | ForkPoolWorker-2: 2016-07-09 15:01:37,593: root : INFO : processing lat, lon = 4, 1
4 | 4, 1
5 | ForkPoolWorker-3: 2016-07-09 15:01:37,683: root : INFO : processing lat, lon = 4, 2
6 | 4, 2
7 | ForkPoolWorker-1: 2016-07-09 15:01:38,074: root : INFO : processing lat, lon = 4, 3
8 | 4, 3
9 | ForkPoolWorker-2: 2016-07-09 15:01:38,087: root : INFO : processing lat, lon = 4, 4
10 | 4, 4
11 | ForkPoolWorker-3: 2016-07-09 15:01:38,117: root : INFO : processing lat, lon = 4, 5
12 | 4, 5
13 | ForkPoolWorker-1: 2016-07-09 15:01:38,199: root : INFO : processing lat, lon = 5, 0
14 | 5, 0
15 | ForkPoolWorker-2: 2016-07-09 15:01:38,225: root : INFO : processing lat, lon = 5, 1
16 | 5, 1
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.10:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-07-09 15:01:34,861: root : INFO : processing lat, lon = 2, 0
2 | 2, 0
3 | MainProcess: 2016-07-09 15:01:34,882: root : INFO : lat, lon = 2, 5
4 | ForkPoolWorker-2: 2016-07-09 15:01:34,937: root : INFO : processing lat, lon = 2, 1
5 | 2, 1
6 | ForkPoolWorker-3: 2016-07-09 15:01:34,945: root : INFO : processing lat, lon = 2, 2
7 | 2, 2
8 | MainProcess: 2016-07-09 15:01:34,960: root : INFO : lat, lon = 3, 0
9 | MainProcess: 2016-07-09 15:01:35,025: root : INFO : lat, lon = 3, 1
10 | ForkPoolWorker-1: 2016-07-09 15:01:35,052: root : INFO : processing lat, lon = 2, 3
11 | 2, 3
12 | MainProcess: 2016-07-09 15:01:35,083: root : INFO : lat, lon = 3, 2
13 | MainProcess: 2016-07-09 15:01:35,092: root : INFO : lat, lon = 3, 3
14 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-07-09 15:01:37,193: root : INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | ForkPoolWorker-3: 2016-07-09 15:01:37,265: root : INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | ForkPoolWorker-1: 2016-07-09 15:01:37,289: root : INFO : processing lat, lon = 3, 0
6 | 3, 0
7 | ForkPoolWorker-2: 2016-07-09 15:01:37,308: root : INFO : processing lat, lon = 3, 1
8 | 3, 1
9 | ForkPoolWorker-3: 2016-07-09 15:01:37,407: root : INFO : processing lat, lon = 3, 2
10 | 3, 2
11 | ForkPoolWorker-1: 2016-07-09 15:01:37,413: root : INFO : processing lat, lon = 3, 3
12 | 3, 3
13 | ForkPoolWorker-2: 2016-07-09 15:01:37,462: root : INFO : processing lat, lon = 3, 4
14 | 3, 4
15 | ForkPoolWorker-3: 2016-07-09 15:01:37,519: root : INFO : processing lat, lon = 3, 5
16 | 3, 5
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: 2016-07-09 15:01:36,784: root : INFO : processing lat, lon = 1, 2
2 | 1, 2
3 | ForkPoolWorker-1: 2016-07-09 15:01:36,871: root : INFO : processing lat, lon = 1, 3
4 | 1, 3
5 | ForkPoolWorker-2: 2016-07-09 15:01:36,879: root : INFO : processing lat, lon = 1, 4
6 | 1, 4
7 | ForkPoolWorker-3: 2016-07-09 15:01:37,044: root : INFO : processing lat, lon = 1, 5
8 | 1, 5
9 | ForkPoolWorker-1: 2016-07-09 15:01:37,050: root : INFO : processing lat, lon = 2, 0
10 | 2, 0
11 | ForkPoolWorker-2: 2016-07-09 15:01:37,085: root : INFO : processing lat, lon = 2, 1
12 | 2, 1
13 | ForkPoolWorker-3: 2016-07-09 15:01:37,145: root : INFO : processing lat, lon = 2, 2
14 | 2, 2
15 | ForkPoolWorker-1: 2016-07-09 15:01:37,176: root : INFO : processing lat, lon = 2, 3
16 | 2, 3
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-07-09 15:01:36,328: root : INFO : processing lat, lon = 0, 0
2 | 0, 0
3 | ForkPoolWorker-2: 2016-07-09 15:01:36,328: root : INFO : processing lat, lon = 0, 1
4 | 0, 1
5 | ForkPoolWorker-3: 2016-07-09 15:01:36,329: root : INFO : processing lat, lon = 0, 2
6 | 0, 2
7 | ForkPoolWorker-1: 2016-07-09 15:01:36,635: root : INFO : processing lat, lon = 0, 3
8 | 0, 3
9 | ForkPoolWorker-2: 2016-07-09 15:01:36,637: root : INFO : processing lat, lon = 0, 4
10 | 0, 4
11 | ForkPoolWorker-3: 2016-07-09 15:01:36,651: root : INFO : processing lat, lon = 0, 5
12 | 0, 5
13 | ForkPoolWorker-1: 2016-07-09 15:01:36,745: root : INFO : processing lat, lon = 1, 0
14 | 1, 0
15 | ForkPoolWorker-2: 2016-07-09 15:01:36,773: root : INFO : processing lat, lon = 1, 1
16 | 1, 1
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 15:01:36,059: root : INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: 2016-07-09 15:01:36,209: root : INFO : 2.054940938949585
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.6:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-07-09 15:01:35,777: root : INFO : processing lat, lon = 5, 0
2 | 5, 0
3 | ForkPoolWorker-2: 2016-07-09 15:01:35,815: root : INFO : processing lat, lon = 5, 1
4 | 5, 1
5 | ForkPoolWorker-3: 2016-07-09 15:01:35,820: root : INFO : processing lat, lon = 5, 2
6 | 5, 2
7 | ForkPoolWorker-1: 2016-07-09 15:01:35,996: root : INFO : processing lat, lon = 5, 3
8 | 5, 3
9 | ForkPoolWorker-2: 2016-07-09 15:01:36,023: root : INFO : processing lat, lon = 5, 4
10 | 5, 4
11 | ForkPoolWorker-3: 2016-07-09 15:01:36,044: root : INFO : processing lat, lon = 5, 5
12 | 5, 5
13 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.7:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-07-09 15:01:35,358: root : INFO : processing lat, lon = 3, 4
2 | 3, 4
3 | ForkPoolWorker-3: 2016-07-09 15:01:35,393: root : INFO : processing lat, lon = 4, 0
4 | 4, 0
5 | ForkPoolWorker-1: 2016-07-09 15:01:35,393: root : INFO : processing lat, lon = 3, 5
6 | 3, 5
7 | ForkPoolWorker-2: 2016-07-09 15:01:35,562: root : INFO : processing lat, lon = 4, 1
8 | 4, 1
9 | ForkPoolWorker-3: 2016-07-09 15:01:35,574: root : INFO : processing lat, lon = 4, 2
10 | 4, 2
11 | ForkPoolWorker-1: 2016-07-09 15:01:35,644: root : INFO : processing lat, lon = 4, 3
12 | 4, 3
13 | ForkPoolWorker-2: 2016-07-09 15:01:35,669: root : INFO : processing lat, lon = 4, 4
14 | 4, 4
15 | ForkPoolWorker-3: 2016-07-09 15:01:35,683: root : INFO : processing lat, lon = 4, 5
16 | 4, 5
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.8:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 15:01:35,239: root : INFO : lat, lon = 4, 5
2 | MainProcess: 2016-07-09 15:01:35,240: root : INFO : lat, lon = 5, 0
3 | MainProcess: 2016-07-09 15:01:35,241: root : INFO : lat, lon = 5, 1
4 | MainProcess: 2016-07-09 15:01:35,241: root : INFO : lat, lon = 5, 2
5 | MainProcess: 2016-07-09 15:01:35,241: root : INFO : lat, lon = 5, 3
6 | MainProcess: 2016-07-09 15:01:35,242: root : INFO : lat, lon = 5, 4
7 | MainProcess: 2016-07-09 15:01:35,242: root : INFO : lat, lon = 5, 5
8 | ForkPoolWorker-2: 2016-07-09 15:01:35,257: root : INFO : processing lat, lon = 3, 1
9 | 3, 1
10 | ForkPoolWorker-1: 2016-07-09 15:01:35,291: root : INFO : processing lat, lon = 3, 3
11 | 3, 3
12 | ForkPoolWorker-3: 2016-07-09 15:01:35,291: root : INFO : processing lat, lon = 3, 2
13 | 3, 2
14 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/LOCKING/rot_fh.log.9:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-07-09 15:01:35,109: root : INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | ForkPoolWorker-3: 2016-07-09 15:01:35,115: root : INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | MainProcess: 2016-07-09 15:01:35,132: root : INFO : lat, lon = 3, 4
6 | ForkPoolWorker-1: 2016-07-09 15:01:35,186: root : INFO : processing lat, lon = 3, 0
7 | 3, 0
8 | MainProcess: 2016-07-09 15:01:35,190: root : INFO : lat, lon = 3, 5
9 | MainProcess: 2016-07-09 15:01:35,191: root : INFO : lat, lon = 4, 0
10 | MainProcess: 2016-07-09 15:01:35,192: root : INFO : lat, lon = 4, 1
11 | MainProcess: 2016-07-09 15:01:35,192: root : INFO : lat, lon = 4, 2
12 | MainProcess: 2016-07-09 15:01:35,238: root : INFO : lat, lon = 4, 3
13 | MainProcess: 2016-07-09 15:01:35,239: root : INFO : lat, lon = 4, 4
14 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: DEBUG : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558}}
2 | MainProcess: DEBUG : 0.4484539031982422
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: INFO : processing lat, lon = 1, 4
2 | 1, 4
3 | ForkPoolWorker-1: INFO : processing lat, lon = 3, 0
4 | 3, 0
5 | ForkPoolWorker-3: INFO : processing lat, lon = 3, 1
6 | 3, 1
7 | ForkPoolWorker-5: INFO : processing lat, lon = 4, 1
8 | 4, 1
9 | ForkPoolWorker-2: INFO : processing lat, lon = 4, 2
10 | 4, 2
11 | ForkPoolWorker-1: INFO : processing lat, lon = 4, 3
12 | 4, 3
13 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-8: INFO : processing lat, lon = 1, 2
2 | 1, 2
3 | ForkPoolWorker-8: INFO : processing lat, lon = 2, 4
4 | 2, 4
5 | ForkPoolWorker-8: INFO : processing lat, lon = 4, 0
6 | 4, 0
7 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-6: INFO : processing lat, lon = 1, 0
2 | 1, 0
3 | ForkPoolWorker-6: INFO : processing lat, lon = 2, 3
4 | 2, 3
5 | ForkPoolWorker-6: INFO : processing lat, lon = 3, 4
6 | 3, 4
7 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-7: INFO : processing lat, lon = 1, 1
2 | 1, 1
3 | ForkPoolWorker-7: INFO : processing lat, lon = 2, 2
4 | 2, 2
5 | ForkPoolWorker-7: INFO : processing lat, lon = 3, 3
6 | 3, 3
7 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-4: INFO : processing lat, lon = 0, 3
2 | 0, 3
3 | ForkPoolWorker-4: INFO : processing lat, lon = 2, 1
4 | 2, 1
5 | ForkPoolWorker-4: INFO : processing lat, lon = 3, 2
6 | 3, 2
7 | ForkPoolWorker-4: INFO : processing lat, lon = 4, 4
8 | 4, 4
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log:
--------------------------------------------------------------------------------
1 | 2016-07-09 15:01:38,487: root : INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | 2016-07-09 15:01:38,561: root : INFO : 2.3466010093688965
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | 2016-07-09 15:01:36,257: root : INFO : lat, lon = 4, 4
2 | 2016-07-09 15:01:36,320: root : INFO : lat, lon = 4, 5
3 | 2016-07-09 15:01:36,320: root : INFO : lat, lon = 5, 0
4 | 2016-07-09 15:01:36,320: root : INFO : lat, lon = 5, 1
5 | 2016-07-09 15:01:36,320: root : INFO : lat, lon = 5, 2
6 | 2016-07-09 15:01:36,320: root : INFO : lat, lon = 5, 3
7 | 2016-07-09 15:01:36,320: root : INFO : lat, lon = 5, 4
8 | 2016-07-09 15:01:36,321: root : INFO : lat, lon = 5, 5
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | 2016-07-09 15:01:36,231: root : INFO : lat, lon = 2, 2
2 | 2016-07-09 15:01:36,255: root : INFO : lat, lon = 2, 3
3 | 2016-07-09 15:01:36,255: root : INFO : lat, lon = 2, 4
4 | 2016-07-09 15:01:36,255: root : INFO : lat, lon = 2, 5
5 | 2016-07-09 15:01:36,255: root : INFO : lat, lon = 3, 0
6 | 2016-07-09 15:01:36,255: root : INFO : lat, lon = 3, 1
7 | 2016-07-09 15:01:36,255: root : INFO : lat, lon = 3, 2
8 | 2016-07-09 15:01:36,256: root : INFO : lat, lon = 3, 3
9 | 2016-07-09 15:01:36,256: root : INFO : lat, lon = 3, 4
10 | 2016-07-09 15:01:36,256: root : INFO : lat, lon = 3, 5
11 | 2016-07-09 15:01:36,256: root : INFO : lat, lon = 4, 0
12 | 2016-07-09 15:01:36,256: root : INFO : lat, lon = 4, 1
13 | 2016-07-09 15:01:36,256: root : INFO : lat, lon = 4, 2
14 | 2016-07-09 15:01:36,257: root : INFO : lat, lon = 4, 3
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | 2016-07-09 15:01:36,214: root : INFO : lat, lon = 0, 0
2 | 2016-07-09 15:01:36,227: root : INFO : lat, lon = 0, 1
3 | 2016-07-09 15:01:36,228: root : INFO : lat, lon = 0, 2
4 | 2016-07-09 15:01:36,228: root : INFO : lat, lon = 0, 3
5 | 2016-07-09 15:01:36,228: root : INFO : lat, lon = 0, 4
6 | 2016-07-09 15:01:36,228: root : INFO : lat, lon = 0, 5
7 | 2016-07-09 15:01:36,229: root : INFO : lat, lon = 1, 0
8 | 2016-07-09 15:01:36,229: root : INFO : lat, lon = 1, 1
9 | 2016-07-09 15:01:36,229: root : INFO : lat, lon = 1, 2
10 | 2016-07-09 15:01:36,230: root : INFO : lat, lon = 1, 3
11 | 2016-07-09 15:01:36,230: root : INFO : lat, lon = 1, 4
12 | 2016-07-09 15:01:36,230: root : INFO : lat, lon = 1, 5
13 | 2016-07-09 15:01:36,231: root : INFO : lat, lon = 2, 0
14 | 2016-07-09 15:01:36,231: root : INFO : lat, lon = 2, 1
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/root_logger/logfile.log~HEAD:
--------------------------------------------------------------------------------
1 | WARNING : 2. Log to both file and console
2 | DEBUG : 3. Log to file only
3 | WARNING : 4. Log to both file and console
4 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/root_logger/logfile.log~develop:
--------------------------------------------------------------------------------
1 | WARNING : 2. Log to both file and console
2 | DEBUG : 3. Log to file only
3 | WARNING : 4. Log to both file and console
4 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.10:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.2~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.2~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.3~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.3~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.4~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.4~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.5~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.5~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.6~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.6~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.7~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.7~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.8~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.8~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.9~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log.9~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log~HEAD:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (I)/rot_fh/rot_fh.log~develop:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/child_loggers/child_loggers.log:
--------------------------------------------------------------------------------
1 | examples.child_logger_main: INFO : 2016-07-09 16:41:22,342: Starting up...
2 | examples.child_logger_main: DEBUG : 2016-07-09 16:41:22,343: Doing something boring with 0
3 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 16:41:22,343: Doing something boring with 0
4 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 16:41:22,343: Doing something boring with 0
5 | examples.child_logger_main: INFO : 2016-07-09 16:41:22,343: Doing something special with 0
6 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 16:41:22,343: Doing something SPECIAL with 0
7 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 16:41:22,343: Doing something SPECIAL with 0
8 | examples.child_logger_main: DEBUG : 2016-07-09 16:41:22,344: Doing something boring with 1
9 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 16:41:22,344: Doing something boring with 1
10 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 16:41:22,344: Doing something boring with 1
11 | examples.child_logger_main: INFO : 2016-07-09 16:41:22,344: Doing something special with 1
12 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 16:41:22,344: Doing something SPECIAL with 1
13 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 16:41:22,344: Doing something SPECIAL with 1
14 | examples.child_logger_main: DEBUG : 2016-07-09 16:41:22,345: Doing something boring with 2
15 | examples.child_logger_main.sub_noprop: DEBUG : 2016-07-09 16:41:22,345: Doing something boring with 2
16 | examples.child_logger_main.sub_prop: DEBUG : 2016-07-09 16:41:22,345: Doing something boring with 2
17 | examples.child_logger_main: INFO : 2016-07-09 16:41:22,345: Doing something special with 2
18 | examples.child_logger_main.sub_noprop: INFO : 2016-07-09 16:41:22,345: Doing something SPECIAL with 2
19 | examples.child_logger_main.sub_prop: INFO : 2016-07-09 16:41:22,345: Doing something SPECIAL with 2
20 | examples.child_logger_main: INFO : 2016-07-09 16:41:22,346: ... shutting down.
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/child_loggers2/child_loggers2.log:
--------------------------------------------------------------------------------
1 | root : INFO : 2016-07-09 16:41:22,367: Starting up...
2 | root : DEBUG : 2016-07-09 16:41:22,367: Doing something boring with 0
3 | examples.child_logger2_sub_noprop : DEBUG : 2016-07-09 16:41:22,368: Doing something boring with 0
4 | examples.child_logger2_sub_prop : DEBUG : 2016-07-09 16:41:22,368: Doing something boring with 0
5 | root : WARNING : 2016-07-09 16:41:22,368: Doing something special with 0
6 | examples.child_logger2_sub_noprop : INFO : 2016-07-09 16:41:22,368: Doing something SPECIAL with 0
7 | examples.child_logger2_sub_prop : INFO : 2016-07-09 16:41:22,368: Doing something SPECIAL with 0
8 | root : DEBUG : 2016-07-09 16:41:22,368: Doing something boring with 1
9 | examples.child_logger2_sub_noprop : DEBUG : 2016-07-09 16:41:22,368: Doing something boring with 1
10 | examples.child_logger2_sub_prop : DEBUG : 2016-07-09 16:41:22,368: Doing something boring with 1
11 | root : WARNING : 2016-07-09 16:41:22,368: Doing something special with 1
12 | examples.child_logger2_sub_noprop : INFO : 2016-07-09 16:41:22,369: Doing something SPECIAL with 1
13 | examples.child_logger2_sub_prop : INFO : 2016-07-09 16:41:22,369: Doing something SPECIAL with 1
14 | root : INFO : 2016-07-09 16:41:22,369: ... shutting down.
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc/check_for_NUL_bytes.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc_LOCKING.log')
16 | check_for_NUL('mproc_NOLOCKING.log')
17 |
18 | '''
19 | '''
20 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc2/check_for_NUL_bytes.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 |
4 | def check_for_NUL(filename):
5 | with open(filename, 'r') as f:
6 | lines = f.readlines()
7 |
8 | print('%s -- checking for NUL bytes' % filename)
9 | for i, line in enumerate(lines):
10 | if 0 in (ord(c) for c in line):
11 | print("Line %d has NUL" % i)
12 | print(line)
13 | print('')
14 |
15 | check_for_NUL('mproc2_LOCKING.log')
16 | check_for_NUL('mproc2_NOLOCKING.log')
17 |
18 | '''
19 | mproc2_LOCKING.log -- checking for NUL bytes
20 |
21 | mproc2_NOLOCKING.log -- checking for NUL bytes
22 | Line 51 has NUL
23 | '''
24 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco/logfile (NOLOCKING).log:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 16:41:25,000: root : INFO : lat, lon = 0, 0
2 | MainProcess: 2016-07-09 16:41:25,001: root : INFO : lat, lon = 0, 1
3 | MainProcess: 2016-07-09 16:41:25,001: root : INFO : lat, lon = 0, 2
4 | MainProcess: 2016-07-09 16:41:25,001: root : INFO : lat, lon = 0, 3
5 | MainProcess: 2016-07-09 16:41:25,002: root : INFO : lat, lon = 0, 4
6 | MainProcess: 2016-07-09 16:41:25,002: root : INFO : lat, lon = 1, 0
7 | MainProcess: 2016-07-09 16:41:25,003: root : INFO : lat, lon = 1, 1
8 | MainProcess: 2016-07-09 16:41:25,003: root : INFO : lat, lon = 1, 2
9 | MainProcess: 2016-07-09 16:41:25,003: root : INFO : lat, lon = 1, 3
10 | MainProcess: 2016-07-09 16:41:25,004: root : INFO : lat, lon = 1, 4
11 | MainProcess: 2016-07-09 16:41:25,004: root : INFO : lat, lon = 2, 0
12 | MainProcess: 2016-07-09 16:41:25,005: root : INFO : lat, lon = 2, 1
13 | MainProcess: 2016-07-09 16:41:25,005: root : INFO : lat, lon = 2, 2
14 | MainProcess: 2016-07-09 16:41:25,005: root : INFO : lat, lon = 2, 3
15 | MainProcess: 2016-07-09 16:41:25,006: root : INFO : lat, lon = 2, 4
16 | MainProcess: 2016-07-09 16:41:25,006: root : INFO : lat, lon = 3, 0
17 | MainProcess: 2016-07-09 16:41:25,006: root : INFO : lat, lon = 3, 1
18 | MainProcess: 2016-07-09 16:41:25,006: root : INFO : lat, lon = 3, 2
19 | MainProcess: 2016-07-09 16:41:25,007: root : INFO : lat, lon = 3, 3
20 | MainProcess: 2016-07-09 16:41:25,007: root : INFO : lat, lon = 3, 4
21 | MainProcess: 2016-07-09 16:41:25,007: root : INFO : lat, lon = 4, 0
22 | MainProcess: 2016-07-09 16:41:25,007: root : INFO : lat, lon = 4, 1
23 | MainProcess: 2016-07-09 16:41:25,007: root : INFO : lat, lon = 4, 2
24 | MainProcess: 2016-07-09 16:41:25,008: root : INFO : lat, lon = 4, 3
25 | MainProcess: 2016-07-09 16:41:25,008: root : INFO : lat, lon = 4, 4
26 | MainProcess: 2016-07-09 16:41:25,408: root : DEBUG : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558}}
27 | MainProcess: 2016-07-09 16:41:25,408: root : DEBUG : 0.4081418514251709
28 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:42,545: INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: 2016-06-30 13:40:42,547: INFO : 1.2741289138793945
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-06-30 13:40:42,237: INFO : processing lat, lon = 4, 1
2 | 4, 1
3 | ForkPoolWorker-1: 2016-06-30 13:40:42,311: INFO : processing lat, lon = 4, 3
4 | 4, 3
5 | ForkPoolWorker-3: 2016-06-30 13:40:42,339: INFO : processing lat, lon = 4, 4
6 | 4, 4
7 | ForkPoolWorker-2: 2016-06-30 13:40:42,340: INFO : processing lat, lon = 4, 5
8 | 4, 5
9 | ForkPoolWorker-1: 2016-06-30 13:40:42,413: INFO : processing lat, lon = 5, 0
10 | 5, 0
11 | ForkPoolWorker-3: 2016-06-30 13:40:42,441: INFO : processing lat, lon = 5, 1
12 | 5, 1
13 | ForkPoolWorker-2: 2016-06-30 13:40:42,441: INFO : processing lat, lon = 5, 2
14 | 5, 2
15 | ForkPoolWorker-1: 2016-06-30 13:40:42,515: INFO : processing lat, lon = 5, 3
16 | 5, 3
17 | ForkPoolWorker-3: 2016-06-30 13:40:42,543: INFO : processing lat, lon = 5, 4
18 | 5, 4
19 | ForkPoolWorker-2: 2016-06-30 13:40:42,543: INFO : processing lat, lon = 5, 5
20 | 5, 5
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-06-30 13:40:41,931: INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | ForkPoolWorker-3: 2016-06-30 13:40:41,931: INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | ForkPoolWorker-1: 2016-06-30 13:40:42,005: INFO : processing lat, lon = 3, 0
6 | 3, 0
7 | ForkPoolWorker-3: 2016-06-30 13:40:42,033: INFO : processing lat, lon = 3, 2
8 | 3, 2
9 | ForkPoolWorker-2: 2016-06-30 13:40:42,033: INFO : processing lat, lon = 3, 1
10 | 3, 1
11 | ForkPoolWorker-1: 2016-06-30 13:40:42,107: INFO : processing lat, lon = 3, 3
12 | 3, 3
13 | ForkPoolWorker-2: 2016-06-30 13:40:42,135: INFO : processing lat, lon = 3, 5
14 | 3, 5
15 | ForkPoolWorker-3: 2016-06-30 13:40:42,135: INFO : processing lat, lon = 3, 4
16 | 3, 4
17 | ForkPoolWorker-1: 2016-06-30 13:40:42,209: INFO : processing lat, lon = 4, 0
18 | 4, 0
19 | ForkPoolWorker-3: 2016-06-30 13:40:42,237: INFO : processing lat, lon = 4, 2
20 | 4, 2
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-06-30 13:40:41,598: INFO : processing lat, lon = 1, 0
2 | 1, 0
3 | ForkPoolWorker-2: 2016-06-30 13:40:41,618: INFO : processing lat, lon = 1, 1
4 | 1, 1
5 | ForkPoolWorker-3: 2016-06-30 13:40:41,619: INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | ForkPoolWorker-1: 2016-06-30 13:40:41,700: INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | ForkPoolWorker-2: 2016-06-30 13:40:41,728: INFO : processing lat, lon = 1, 4
10 | 1, 4
11 | ForkPoolWorker-3: 2016-06-30 13:40:41,728: INFO : processing lat, lon = 1, 5
12 | 1, 5
13 | ForkPoolWorker-1: 2016-06-30 13:40:41,802: INFO : processing lat, lon = 2, 0
14 | 2, 0
15 | ForkPoolWorker-2: 2016-06-30 13:40:41,829: INFO : processing lat, lon = 2, 1
16 | 2, 1
17 | ForkPoolWorker-3: 2016-06-30 13:40:41,830: INFO : processing lat, lon = 2, 2
18 | 2, 2
19 | ForkPoolWorker-1: 2016-06-30 13:40:41,904: INFO : processing lat, lon = 2, 3
20 | 2, 3
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:41,302: INFO : lat, lon = 5, 0
2 | MainProcess: 2016-06-30 13:40:41,303: INFO : lat, lon = 5, 1
3 | MainProcess: 2016-06-30 13:40:41,303: INFO : lat, lon = 5, 2
4 | MainProcess: 2016-06-30 13:40:41,304: INFO : lat, lon = 5, 3
5 | MainProcess: 2016-06-30 13:40:41,304: INFO : lat, lon = 5, 4
6 | MainProcess: 2016-06-30 13:40:41,304: INFO : lat, lon = 5, 5
7 | ForkPoolWorker-1: 2016-06-30 13:40:41,393: INFO : processing lat, lon = 0, 0
8 | 0, 0
9 | ForkPoolWorker-2: 2016-06-30 13:40:41,394: INFO : processing lat, lon = 0, 1
10 | 0, 1
11 | ForkPoolWorker-3: 2016-06-30 13:40:41,395: INFO : processing lat, lon = 0, 2
12 | 0, 2
13 | ForkPoolWorker-1: 2016-06-30 13:40:41,496: INFO : processing lat, lon = 0, 3
14 | 0, 3
15 | ForkPoolWorker-2: 2016-06-30 13:40:41,517: INFO : processing lat, lon = 0, 4
16 | 0, 4
17 | ForkPoolWorker-3: 2016-06-30 13:40:41,517: INFO : processing lat, lon = 0, 5
18 | 0, 5
19 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:41,297: INFO : lat, lon = 2, 3
2 | MainProcess: 2016-06-30 13:40:41,298: INFO : lat, lon = 2, 4
3 | MainProcess: 2016-06-30 13:40:41,298: INFO : lat, lon = 2, 5
4 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 0
5 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 1
6 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 2
7 | MainProcess: 2016-06-30 13:40:41,299: INFO : lat, lon = 3, 3
8 | MainProcess: 2016-06-30 13:40:41,300: INFO : lat, lon = 3, 4
9 | MainProcess: 2016-06-30 13:40:41,300: INFO : lat, lon = 3, 5
10 | MainProcess: 2016-06-30 13:40:41,300: INFO : lat, lon = 4, 0
11 | MainProcess: 2016-06-30 13:40:41,301: INFO : lat, lon = 4, 1
12 | MainProcess: 2016-06-30 13:40:41,301: INFO : lat, lon = 4, 2
13 | MainProcess: 2016-06-30 13:40:41,301: INFO : lat, lon = 4, 3
14 | MainProcess: 2016-06-30 13:40:41,302: INFO : lat, lon = 4, 4
15 | MainProcess: 2016-06-30 13:40:41,302: INFO : lat, lon = 4, 5
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'-close--GOOD/rot_fh.log.6:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:40:41,280: INFO : lat, lon = 0, 0
2 | MainProcess: 2016-06-30 13:40:41,290: INFO : lat, lon = 0, 1
3 | MainProcess: 2016-06-30 13:40:41,292: INFO : lat, lon = 0, 2
4 | MainProcess: 2016-06-30 13:40:41,292: INFO : lat, lon = 0, 3
5 | MainProcess: 2016-06-30 13:40:41,293: INFO : lat, lon = 0, 4
6 | MainProcess: 2016-06-30 13:40:41,294: INFO : lat, lon = 0, 5
7 | MainProcess: 2016-06-30 13:40:41,294: INFO : lat, lon = 1, 0
8 | MainProcess: 2016-06-30 13:40:41,294: INFO : lat, lon = 1, 1
9 | MainProcess: 2016-06-30 13:40:41,295: INFO : lat, lon = 1, 2
10 | MainProcess: 2016-06-30 13:40:41,295: INFO : lat, lon = 1, 3
11 | MainProcess: 2016-06-30 13:40:41,296: INFO : lat, lon = 1, 4
12 | MainProcess: 2016-06-30 13:40:41,296: INFO : lat, lon = 1, 5
13 | MainProcess: 2016-06-30 13:40:41,296: INFO : lat, lon = 2, 0
14 | MainProcess: 2016-06-30 13:40:41,297: INFO : lat, lon = 2, 1
15 | MainProcess: 2016-06-30 13:40:41,297: INFO : lat, lon = 2, 2
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:04,864: INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: 2016-06-30 13:44:04,866: INFO : 1.2764499187469482
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: 2016-06-30 13:44:04,558: INFO : processing lat, lon = 4, 2
2 | 4, 2
3 | ForkPoolWorker-1: 2016-06-30 13:44:04,626: INFO : processing lat, lon = 4, 3
4 | 4, 3
5 | ForkPoolWorker-3: 2016-06-30 13:44:04,658: INFO : processing lat, lon = 4, 4
6 | 4, 4
7 | ForkPoolWorker-2: 2016-06-30 13:44:04,659: INFO : processing lat, lon = 4, 5
8 | 4, 5
9 | ForkPoolWorker-1: 2016-06-30 13:44:04,728: INFO : processing lat, lon = 5, 0
10 | 5, 0
11 | ForkPoolWorker-3: 2016-06-30 13:44:04,760: INFO : processing lat, lon = 5, 1
12 | 5, 1
13 | ForkPoolWorker-2: 2016-06-30 13:44:04,760: INFO : processing lat, lon = 5, 2
14 | 5, 2
15 | ForkPoolWorker-1: 2016-06-30 13:44:04,830: INFO : processing lat, lon = 5, 3
16 | 5, 3
17 | ForkPoolWorker-3: 2016-06-30 13:44:04,863: INFO : processing lat, lon = 5, 4
18 | 5, 4
19 | ForkPoolWorker-2: 2016-06-30 13:44:04,863: INFO : processing lat, lon = 5, 5
20 | 5, 5
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: 2016-06-30 13:44:04,251: INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | ForkPoolWorker-2: 2016-06-30 13:44:04,253: INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | ForkPoolWorker-1: 2016-06-30 13:44:04,322: INFO : processing lat, lon = 3, 0
6 | 3, 0
7 | ForkPoolWorker-3: 2016-06-30 13:44:04,353: INFO : processing lat, lon = 3, 1
8 | 3, 1
9 | ForkPoolWorker-2: 2016-06-30 13:44:04,355: INFO : processing lat, lon = 3, 2
10 | 3, 2
11 | ForkPoolWorker-1: 2016-06-30 13:44:04,423: INFO : processing lat, lon = 3, 3
12 | 3, 3
13 | ForkPoolWorker-3: 2016-06-30 13:44:04,455: INFO : processing lat, lon = 3, 4
14 | 3, 4
15 | ForkPoolWorker-2: 2016-06-30 13:44:04,456: INFO : processing lat, lon = 3, 5
16 | 3, 5
17 | ForkPoolWorker-1: 2016-06-30 13:44:04,525: INFO : processing lat, lon = 4, 0
18 | 4, 0
19 | ForkPoolWorker-3: 2016-06-30 13:44:04,556: INFO : processing lat, lon = 4, 1
20 | 4, 1
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: 2016-06-30 13:44:03,915: INFO : processing lat, lon = 1, 0
2 | 1, 0
3 | ForkPoolWorker-3: 2016-06-30 13:44:03,947: INFO : processing lat, lon = 1, 1
4 | 1, 1
5 | ForkPoolWorker-2: 2016-06-30 13:44:03,947: INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | ForkPoolWorker-1: 2016-06-30 13:44:04,016: INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | ForkPoolWorker-3: 2016-06-30 13:44:04,049: INFO : processing lat, lon = 1, 4
10 | 1, 4
11 | ForkPoolWorker-2: 2016-06-30 13:44:04,049: INFO : processing lat, lon = 1, 5
12 | 1, 5
13 | ForkPoolWorker-1: 2016-06-30 13:44:04,118: INFO : processing lat, lon = 2, 0
14 | 2, 0
15 | ForkPoolWorker-3: 2016-06-30 13:44:04,150: INFO : processing lat, lon = 2, 1
16 | 2, 1
17 | ForkPoolWorker-2: 2016-06-30 13:44:04,151: INFO : processing lat, lon = 2, 2
18 | 2, 2
19 | ForkPoolWorker-1: 2016-06-30 13:44:04,220: INFO : processing lat, lon = 2, 3
20 | 2, 3
21 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:03,619: INFO : lat, lon = 5, 0
2 | MainProcess: 2016-06-30 13:44:03,620: INFO : lat, lon = 5, 1
3 | MainProcess: 2016-06-30 13:44:03,620: INFO : lat, lon = 5, 2
4 | MainProcess: 2016-06-30 13:44:03,621: INFO : lat, lon = 5, 3
5 | MainProcess: 2016-06-30 13:44:03,621: INFO : lat, lon = 5, 4
6 | MainProcess: 2016-06-30 13:44:03,621: INFO : lat, lon = 5, 5
7 | ForkPoolWorker-1: 2016-06-30 13:44:03,709: INFO : processing lat, lon = 0, 0
8 | 0, 0
9 | ForkPoolWorker-2: 2016-06-30 13:44:03,710: INFO : processing lat, lon = 0, 1
10 | 0, 1
11 | ForkPoolWorker-3: 2016-06-30 13:44:03,712: INFO : processing lat, lon = 0, 2
12 | 0, 2
13 | ForkPoolWorker-1: 2016-06-30 13:44:03,812: INFO : processing lat, lon = 0, 3
14 | 0, 3
15 | ForkPoolWorker-3: 2016-06-30 13:44:03,839: INFO : processing lat, lon = 0, 5
16 | 0, 5
17 | ForkPoolWorker-2: 2016-06-30 13:44:03,839: INFO : processing lat, lon = 0, 4
18 | 0, 4
19 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:03,614: INFO : lat, lon = 2, 3
2 | MainProcess: 2016-06-30 13:44:03,615: INFO : lat, lon = 2, 4
3 | MainProcess: 2016-06-30 13:44:03,615: INFO : lat, lon = 2, 5
4 | MainProcess: 2016-06-30 13:44:03,616: INFO : lat, lon = 3, 0
5 | MainProcess: 2016-06-30 13:44:03,616: INFO : lat, lon = 3, 1
6 | MainProcess: 2016-06-30 13:44:03,616: INFO : lat, lon = 3, 2
7 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 3, 3
8 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 3, 4
9 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 3, 5
10 | MainProcess: 2016-06-30 13:44:03,617: INFO : lat, lon = 4, 0
11 | MainProcess: 2016-06-30 13:44:03,618: INFO : lat, lon = 4, 1
12 | MainProcess: 2016-06-30 13:44:03,618: INFO : lat, lon = 4, 2
13 | MainProcess: 2016-06-30 13:44:03,618: INFO : lat, lon = 4, 3
14 | MainProcess: 2016-06-30 13:44:03,619: INFO : lat, lon = 4, 4
15 | MainProcess: 2016-06-30 13:44:03,619: INFO : lat, lon = 4, 5
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'a'or'w'-close--GOOD/rot_fh.log.6:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-06-30 13:44:03,597: INFO : lat, lon = 0, 0
2 | MainProcess: 2016-06-30 13:44:03,607: INFO : lat, lon = 0, 1
3 | MainProcess: 2016-06-30 13:44:03,609: INFO : lat, lon = 0, 2
4 | MainProcess: 2016-06-30 13:44:03,609: INFO : lat, lon = 0, 3
5 | MainProcess: 2016-06-30 13:44:03,610: INFO : lat, lon = 0, 4
6 | MainProcess: 2016-06-30 13:44:03,610: INFO : lat, lon = 0, 5
7 | MainProcess: 2016-06-30 13:44:03,611: INFO : lat, lon = 1, 0
8 | MainProcess: 2016-06-30 13:44:03,611: INFO : lat, lon = 1, 1
9 | MainProcess: 2016-06-30 13:44:03,611: INFO : lat, lon = 1, 2
10 | MainProcess: 2016-06-30 13:44:03,612: INFO : lat, lon = 1, 3
11 | MainProcess: 2016-06-30 13:44:03,612: INFO : lat, lon = 1, 4
12 | MainProcess: 2016-06-30 13:44:03,613: INFO : lat, lon = 1, 5
13 | MainProcess: 2016-06-30 13:44:03,613: INFO : lat, lon = 2, 0
14 | MainProcess: 2016-06-30 13:44:03,614: INFO : lat, lon = 2, 1
15 | MainProcess: 2016-06-30 13:44:03,614: INFO : lat, lon = 2, 2
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: INFO : 1.2544889450073242
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: INFO : processing lat, lon = 0, 2
2 | 0, 2
3 | ForkPoolWorker-3: INFO : processing lat, lon = 0, 5
4 | 0, 5
5 | ForkPoolWorker-3: INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | ForkPoolWorker-3: INFO : processing lat, lon = 1, 5
8 | 1, 5
9 | ForkPoolWorker-3: INFO : processing lat, lon = 2, 2
10 | 2, 2
11 | ForkPoolWorker-3: INFO : processing lat, lon = 2, 5
12 | 2, 5
13 | ForkPoolWorker-3: INFO : processing lat, lon = 3, 2
14 | 3, 2
15 | ForkPoolWorker-3: INFO : processing lat, lon = 3, 5
16 | 3, 5
17 | ForkPoolWorker-3: INFO : processing lat, lon = 4, 2
18 | 4, 2
19 | ForkPoolWorker-3: INFO : processing lat, lon = 4, 5
20 | 4, 5
21 | ForkPoolWorker-3: INFO : processing lat, lon = 5, 2
22 | 5, 2
23 | ForkPoolWorker-3: INFO : processing lat, lon = 5, 5
24 | 5, 5
25 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-2: INFO : processing lat, lon = 0, 1
2 | 0, 1
3 | ForkPoolWorker-2: INFO : processing lat, lon = 0, 4
4 | 0, 4
5 | ForkPoolWorker-2: INFO : processing lat, lon = 1, 1
6 | 1, 1
7 | ForkPoolWorker-2: INFO : processing lat, lon = 1, 4
8 | 1, 4
9 | ForkPoolWorker-2: INFO : processing lat, lon = 2, 1
10 | 2, 1
11 | ForkPoolWorker-2: INFO : processing lat, lon = 2, 4
12 | 2, 4
13 | ForkPoolWorker-2: INFO : processing lat, lon = 3, 1
14 | 3, 1
15 | ForkPoolWorker-2: INFO : processing lat, lon = 3, 4
16 | 3, 4
17 | ForkPoolWorker-2: INFO : processing lat, lon = 4, 0
18 | 4, 0
19 | ForkPoolWorker-2: INFO : processing lat, lon = 4, 4
20 | 4, 4
21 | ForkPoolWorker-2: INFO : processing lat, lon = 5, 0
22 | 5, 0
23 | ForkPoolWorker-2: INFO : processing lat, lon = 5, 4
24 | 5, 4
25 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-1: INFO : processing lat, lon = 0, 0
2 | 0, 0
3 | ForkPoolWorker-1: INFO : processing lat, lon = 0, 3
4 | 0, 3
5 | ForkPoolWorker-1: INFO : processing lat, lon = 1, 0
6 | 1, 0
7 | ForkPoolWorker-1: INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | ForkPoolWorker-1: INFO : processing lat, lon = 2, 0
10 | 2, 0
11 | ForkPoolWorker-1: INFO : processing lat, lon = 2, 3
12 | 2, 3
13 | ForkPoolWorker-1: INFO : processing lat, lon = 3, 0
14 | 3, 0
15 | ForkPoolWorker-1: INFO : processing lat, lon = 3, 3
16 | 3, 3
17 | ForkPoolWorker-1: INFO : processing lat, lon = 4, 1
18 | 4, 1
19 | ForkPoolWorker-1: INFO : processing lat, lon = 4, 3
20 | 4, 3
21 | ForkPoolWorker-1: INFO : processing lat, lon = 5, 1
22 | 5, 1
23 | ForkPoolWorker-1: INFO : processing lat, lon = 5, 3
24 | 5, 3
25 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | MainProcess: INFO : lat, lon = 4, 2
2 | MainProcess: INFO : lat, lon = 4, 3
3 | MainProcess: INFO : lat, lon = 4, 4
4 | MainProcess: INFO : lat, lon = 4, 5
5 | MainProcess: INFO : lat, lon = 5, 0
6 | MainProcess: INFO : lat, lon = 5, 1
7 | MainProcess: INFO : lat, lon = 5, 2
8 | MainProcess: INFO : lat, lon = 5, 3
9 | MainProcess: INFO : lat, lon = 5, 4
10 | MainProcess: INFO : lat, lon = 5, 5
11 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING-3processes-1024maxbytes-10backup-'w'-no_close--BAD/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: INFO : lat, lon = 0, 0
2 | MainProcess: INFO : lat, lon = 0, 1
3 | MainProcess: INFO : lat, lon = 0, 2
4 | MainProcess: INFO : lat, lon = 0, 3
5 | MainProcess: INFO : lat, lon = 0, 4
6 | MainProcess: INFO : lat, lon = 0, 5
7 | MainProcess: INFO : lat, lon = 1, 0
8 | MainProcess: INFO : lat, lon = 1, 1
9 | MainProcess: INFO : lat, lon = 1, 2
10 | MainProcess: INFO : lat, lon = 1, 3
11 | MainProcess: INFO : lat, lon = 1, 4
12 | MainProcess: INFO : lat, lon = 1, 5
13 | MainProcess: INFO : lat, lon = 2, 0
14 | MainProcess: INFO : lat, lon = 2, 1
15 | MainProcess: INFO : lat, lon = 2, 2
16 | MainProcess: INFO : lat, lon = 2, 3
17 | MainProcess: INFO : lat, lon = 2, 4
18 | MainProcess: INFO : lat, lon = 2, 5
19 | MainProcess: INFO : lat, lon = 3, 0
20 | MainProcess: INFO : lat, lon = 3, 1
21 | MainProcess: INFO : lat, lon = 3, 2
22 | MainProcess: INFO : lat, lon = 3, 3
23 | MainProcess: INFO : lat, lon = 3, 4
24 | MainProcess: INFO : lat, lon = 3, 5
25 | MainProcess: INFO : lat, lon = 4, 0
26 | MainProcess: INFO : lat, lon = 4, 1
27 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-41: 2016-07-09 16:41:28,016: root : INFO : processing lat, lon = 5, 1
2 | 5, 1
3 | ForkPoolWorker-42: 2016-07-09 16:41:28,087: root : INFO : processing lat, lon = 5, 3
4 | 5, 3
5 | ForkPoolWorker-43: 2016-07-09 16:41:28,118: root : INFO : processing lat, lon = 5, 4
6 | 5, 4
7 | ForkPoolWorker-41: 2016-07-09 16:41:28,119: root : INFO : processing lat, lon = 5, 5
8 | 5, 5
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-42: 2016-07-09 16:41:27,780: root : INFO : processing lat, lon = 4, 0
2 | 4, 0
3 | ForkPoolWorker-41: 2016-07-09 16:41:27,812: root : INFO : processing lat, lon = 4, 1
4 | 4, 1
5 | ForkPoolWorker-43: 2016-07-09 16:41:27,812: root : INFO : processing lat, lon = 4, 2
6 | 4, 2
7 | ForkPoolWorker-42: 2016-07-09 16:41:27,883: root : INFO : processing lat, lon = 4, 3
8 | 4, 3
9 | ForkPoolWorker-41: 2016-07-09 16:41:27,914: root : INFO : processing lat, lon = 4, 4
10 | 4, 4
11 | ForkPoolWorker-43: 2016-07-09 16:41:27,914: root : INFO : processing lat, lon = 4, 5
12 | 4, 5
13 | ForkPoolWorker-42: 2016-07-09 16:41:27,985: root : INFO : processing lat, lon = 5, 0
14 | 5, 0
15 | ForkPoolWorker-43: 2016-07-09 16:41:28,016: root : INFO : processing lat, lon = 5, 2
16 | 5, 2
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.10:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 16:41:25,563: root : INFO : lat, lon = 5, 3
2 | MainProcess: 2016-07-09 16:41:25,563: root : INFO : lat, lon = 5, 4
3 | MainProcess: 2016-07-09 16:41:25,564: root : INFO : lat, lon = 5, 5
4 | ForkPoolWorker-41: 2016-07-09 16:41:25,644: root : INFO : processing lat, lon = 0, 0
5 | 0, 0
6 | ForkPoolWorker-42: 2016-07-09 16:41:25,645: root : INFO : processing lat, lon = 0, 1
7 | 0, 1
8 | ForkPoolWorker-43: 2016-07-09 16:41:25,647: root : INFO : processing lat, lon = 0, 2
9 | 0, 2
10 | ForkPoolWorker-41: 2016-07-09 16:41:25,747: root : INFO : processing lat, lon = 0, 3
11 | 0, 3
12 | ForkPoolWorker-42: 2016-07-09 16:41:25,747: root : INFO : processing lat, lon = 0, 4
13 | 0, 4
14 | ForkPoolWorker-43: 2016-07-09 16:41:25,749: root : INFO : processing lat, lon = 0, 5
15 | 0, 5
16 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-41: 2016-07-09 16:41:27,489: root : INFO : processing lat, lon = 2, 4
2 | 2, 4
3 | ForkPoolWorker-43: 2016-07-09 16:41:27,489: root : INFO : processing lat, lon = 2, 5
4 | 2, 5
5 | ForkPoolWorker-42: 2016-07-09 16:41:27,575: root : INFO : processing lat, lon = 3, 0
6 | 3, 0
7 | ForkPoolWorker-43: 2016-07-09 16:41:27,602: root : INFO : processing lat, lon = 3, 2
8 | 3, 2
9 | ForkPoolWorker-41: 2016-07-09 16:41:27,602: root : INFO : processing lat, lon = 3, 1
10 | 3, 1
11 | ForkPoolWorker-42: 2016-07-09 16:41:27,677: root : INFO : processing lat, lon = 3, 3
12 | 3, 3
13 | ForkPoolWorker-41: 2016-07-09 16:41:27,710: root : INFO : processing lat, lon = 3, 5
14 | 3, 5
15 | ForkPoolWorker-43: 2016-07-09 16:41:27,710: root : INFO : processing lat, lon = 3, 4
16 | 3, 4
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-43: 2016-07-09 16:41:27,130: root : INFO : processing lat, lon = 1, 2
2 | 1, 2
3 | ForkPoolWorker-42: 2016-07-09 16:41:27,211: root : INFO : processing lat, lon = 1, 3
4 | 1, 3
5 | ForkPoolWorker-41: 2016-07-09 16:41:27,212: root : INFO : processing lat, lon = 1, 4
6 | 1, 4
7 | ForkPoolWorker-43: 2016-07-09 16:41:27,234: root : INFO : processing lat, lon = 1, 5
8 | 1, 5
9 | ForkPoolWorker-42: 2016-07-09 16:41:27,316: root : INFO : processing lat, lon = 2, 0
10 | 2, 0
11 | ForkPoolWorker-41: 2016-07-09 16:41:27,317: root : INFO : processing lat, lon = 2, 1
12 | 2, 1
13 | ForkPoolWorker-43: 2016-07-09 16:41:27,336: root : INFO : processing lat, lon = 2, 2
14 | 2, 2
15 | ForkPoolWorker-42: 2016-07-09 16:41:27,462: root : INFO : processing lat, lon = 2, 3
16 | 2, 3
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-41: 2016-07-09 16:41:26,894: root : INFO : processing lat, lon = 0, 1
2 | 0, 1
3 | ForkPoolWorker-42: 2016-07-09 16:41:26,894: root : INFO : processing lat, lon = 0, 2
4 | 0, 2
5 | ForkPoolWorker-43: 2016-07-09 16:41:26,894: root : INFO : processing lat, lon = 0, 0
6 | 0, 0
7 | ForkPoolWorker-41: 2016-07-09 16:41:27,002: root : INFO : processing lat, lon = 0, 3
8 | 0, 3
9 | ForkPoolWorker-42: 2016-07-09 16:41:27,005: root : INFO : processing lat, lon = 0, 4
10 | 0, 4
11 | ForkPoolWorker-43: 2016-07-09 16:41:27,006: root : INFO : processing lat, lon = 0, 5
12 | 0, 5
13 | ForkPoolWorker-41: 2016-07-09 16:41:27,107: root : INFO : processing lat, lon = 1, 0
14 | 1, 0
15 | ForkPoolWorker-42: 2016-07-09 16:41:27,107: root : INFO : processing lat, lon = 1, 1
16 | 1, 1
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | MainProcess: 2016-07-09 16:41:26,776: root : INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | MainProcess: 2016-07-09 16:41:26,780: root : INFO : 1.3053700923919678
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.6:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-42: 2016-07-09 16:41:26,671: root : INFO : processing lat, lon = 5, 0
2 | 5, 0
3 | ForkPoolWorker-43: 2016-07-09 16:41:26,671: root : INFO : processing lat, lon = 5, 1
4 | 5, 1
5 | ForkPoolWorker-41: 2016-07-09 16:41:26,672: root : INFO : processing lat, lon = 5, 2
6 | 5, 2
7 | ForkPoolWorker-43: 2016-07-09 16:41:26,773: root : INFO : processing lat, lon = 5, 4
8 | 5, 4
9 | ForkPoolWorker-41: 2016-07-09 16:41:26,773: root : INFO : processing lat, lon = 5, 5
10 | 5, 5
11 | ForkPoolWorker-42: 2016-07-09 16:41:26,773: root : INFO : processing lat, lon = 5, 3
12 | 5, 3
13 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.7:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-43: 2016-07-09 16:41:26,359: root : INFO : processing lat, lon = 3, 4
2 | 3, 4
3 | ForkPoolWorker-41: 2016-07-09 16:41:26,361: root : INFO : processing lat, lon = 3, 5
4 | 3, 5
5 | ForkPoolWorker-42: 2016-07-09 16:41:26,461: root : INFO : processing lat, lon = 4, 0
6 | 4, 0
7 | ForkPoolWorker-43: 2016-07-09 16:41:26,463: root : INFO : processing lat, lon = 4, 1
8 | 4, 1
9 | ForkPoolWorker-41: 2016-07-09 16:41:26,463: root : INFO : processing lat, lon = 4, 2
10 | 4, 2
11 | ForkPoolWorker-42: 2016-07-09 16:41:26,562: root : INFO : processing lat, lon = 4, 3
12 | 4, 3
13 | ForkPoolWorker-43: 2016-07-09 16:41:26,565: root : INFO : processing lat, lon = 4, 4
14 | 4, 4
15 | ForkPoolWorker-41: 2016-07-09 16:41:26,565: root : INFO : processing lat, lon = 4, 5
16 | 4, 5
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.8:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-41: 2016-07-09 16:41:26,054: root : INFO : processing lat, lon = 2, 1
2 | 2, 1
3 | ForkPoolWorker-42: 2016-07-09 16:41:26,155: root : INFO : processing lat, lon = 2, 3
4 | 2, 3
5 | ForkPoolWorker-43: 2016-07-09 16:41:26,156: root : INFO : processing lat, lon = 2, 4
6 | 2, 4
7 | ForkPoolWorker-41: 2016-07-09 16:41:26,157: root : INFO : processing lat, lon = 2, 5
8 | 2, 5
9 | ForkPoolWorker-42: 2016-07-09 16:41:26,257: root : INFO : processing lat, lon = 3, 0
10 | 3, 0
11 | ForkPoolWorker-43: 2016-07-09 16:41:26,258: root : INFO : processing lat, lon = 3, 1
12 | 3, 1
13 | ForkPoolWorker-41: 2016-07-09 16:41:26,259: root : INFO : processing lat, lon = 3, 2
14 | 3, 2
15 | ForkPoolWorker-42: 2016-07-09 16:41:26,359: root : INFO : processing lat, lon = 3, 3
16 | 3, 3
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/LOCKING/rot_fh.log.9:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-42: 2016-07-09 16:41:25,849: root : INFO : processing lat, lon = 1, 1
2 | 1, 1
3 | ForkPoolWorker-41: 2016-07-09 16:41:25,849: root : INFO : processing lat, lon = 1, 0
4 | 1, 0
5 | ForkPoolWorker-43: 2016-07-09 16:41:25,850: root : INFO : processing lat, lon = 1, 2
6 | 1, 2
7 | ForkPoolWorker-42: 2016-07-09 16:41:25,951: root : INFO : processing lat, lon = 1, 3
8 | 1, 3
9 | ForkPoolWorker-41: 2016-07-09 16:41:25,953: root : INFO : processing lat, lon = 1, 4
10 | 1, 4
11 | ForkPoolWorker-43: 2016-07-09 16:41:25,953: root : INFO : processing lat, lon = 1, 5
12 | 1, 5
13 | ForkPoolWorker-42: 2016-07-09 16:41:26,053: root : INFO : processing lat, lon = 2, 0
14 | 2, 0
15 | ForkPoolWorker-43: 2016-07-09 16:41:26,054: root : INFO : processing lat, lon = 2, 2
16 | 2, 2
17 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log:
--------------------------------------------------------------------------------
1 | MainProcess: DEBUG : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558}}
2 | MainProcess: DEBUG : 0.4484539031982422
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-3: INFO : processing lat, lon = 1, 4
2 | 1, 4
3 | ForkPoolWorker-1: INFO : processing lat, lon = 3, 0
4 | 3, 0
5 | ForkPoolWorker-3: INFO : processing lat, lon = 3, 1
6 | 3, 1
7 | ForkPoolWorker-5: INFO : processing lat, lon = 4, 1
8 | 4, 1
9 | ForkPoolWorker-2: INFO : processing lat, lon = 4, 2
10 | 4, 2
11 | ForkPoolWorker-1: INFO : processing lat, lon = 4, 3
12 | 4, 3
13 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-8: INFO : processing lat, lon = 1, 2
2 | 1, 2
3 | ForkPoolWorker-8: INFO : processing lat, lon = 2, 4
4 | 2, 4
5 | ForkPoolWorker-8: INFO : processing lat, lon = 4, 0
6 | 4, 0
7 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-6: INFO : processing lat, lon = 1, 0
2 | 1, 0
3 | ForkPoolWorker-6: INFO : processing lat, lon = 2, 3
4 | 2, 3
5 | ForkPoolWorker-6: INFO : processing lat, lon = 3, 4
6 | 3, 4
7 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.4:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-7: INFO : processing lat, lon = 1, 1
2 | 1, 1
3 | ForkPoolWorker-7: INFO : processing lat, lon = 2, 2
4 | 2, 2
5 | ForkPoolWorker-7: INFO : processing lat, lon = 3, 3
6 | 3, 3
7 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING-no_close-doesnt_even_work/rot_fh.log.5:
--------------------------------------------------------------------------------
1 | ForkPoolWorker-4: INFO : processing lat, lon = 0, 3
2 | 0, 3
3 | ForkPoolWorker-4: INFO : processing lat, lon = 2, 1
4 | 2, 1
5 | ForkPoolWorker-4: INFO : processing lat, lon = 3, 2
6 | 3, 2
7 | ForkPoolWorker-4: INFO : processing lat, lon = 4, 4
8 | 4, 4
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log:
--------------------------------------------------------------------------------
1 | 2016-07-09 16:41:28,122: root : INFO : {0: {0: 0.8444218515250481, 1: 0.7579544029403025, 2: 0.420571580830845, 3: 0.25891675029296335, 4: 0.5112747213686085, 5: 0.4049341374504143}, 1: {0: 0.7579544029403025, 1: 0.420571580830845, 2: 0.25891675029296335, 3: 0.5112747213686085, 4: 0.4049341374504143, 5: 0.7837985890347726}, 2: {0: 0.420571580830845, 1: 0.25891675029296335, 2: 0.5112747213686085, 3: 0.4049341374504143, 4: 0.7837985890347726, 5: 0.30331272607892745}, 3: {0: 0.25891675029296335, 1: 0.5112747213686085, 2: 0.4049341374504143, 3: 0.7837985890347726, 4: 0.30331272607892745, 5: 0.4765969541523558}, 4: {0: 0.5112747213686085, 1: 0.4049341374504143, 2: 0.7837985890347726, 3: 0.30331272607892745, 4: 0.4765969541523558, 5: 0.5833820394550312}, 5: {0: 0.4049341374504143, 1: 0.7837985890347726, 2: 0.30331272607892745, 3: 0.4765969541523558, 4: 0.5833820394550312, 5: 0.9081128851953352}}
2 | 2016-07-09 16:41:28,123: root : INFO : 1.3401730060577393
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | 2016-07-09 16:41:26,799: root : INFO : lat, lon = 4, 4
2 | 2016-07-09 16:41:26,800: root : INFO : lat, lon = 4, 5
3 | 2016-07-09 16:41:26,800: root : INFO : lat, lon = 5, 0
4 | 2016-07-09 16:41:26,803: root : INFO : lat, lon = 5, 1
5 | 2016-07-09 16:41:26,804: root : INFO : lat, lon = 5, 2
6 | 2016-07-09 16:41:26,804: root : INFO : lat, lon = 5, 3
7 | 2016-07-09 16:41:26,805: root : INFO : lat, lon = 5, 4
8 | 2016-07-09 16:41:26,805: root : INFO : lat, lon = 5, 5
9 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | 2016-07-09 16:41:26,795: root : INFO : lat, lon = 2, 2
2 | 2016-07-09 16:41:26,796: root : INFO : lat, lon = 2, 3
3 | 2016-07-09 16:41:26,797: root : INFO : lat, lon = 2, 4
4 | 2016-07-09 16:41:26,797: root : INFO : lat, lon = 2, 5
5 | 2016-07-09 16:41:26,797: root : INFO : lat, lon = 3, 0
6 | 2016-07-09 16:41:26,797: root : INFO : lat, lon = 3, 1
7 | 2016-07-09 16:41:26,797: root : INFO : lat, lon = 3, 2
8 | 2016-07-09 16:41:26,798: root : INFO : lat, lon = 3, 3
9 | 2016-07-09 16:41:26,798: root : INFO : lat, lon = 3, 4
10 | 2016-07-09 16:41:26,798: root : INFO : lat, lon = 3, 5
11 | 2016-07-09 16:41:26,798: root : INFO : lat, lon = 4, 0
12 | 2016-07-09 16:41:26,798: root : INFO : lat, lon = 4, 1
13 | 2016-07-09 16:41:26,799: root : INFO : lat, lon = 4, 2
14 | 2016-07-09 16:41:26,799: root : INFO : lat, lon = 4, 3
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/mproc_deco_rot_fh/NOLOCKING/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | 2016-07-09 16:41:26,783: root : INFO : lat, lon = 0, 0
2 | 2016-07-09 16:41:26,784: root : INFO : lat, lon = 0, 1
3 | 2016-07-09 16:41:26,784: root : INFO : lat, lon = 0, 2
4 | 2016-07-09 16:41:26,784: root : INFO : lat, lon = 0, 3
5 | 2016-07-09 16:41:26,784: root : INFO : lat, lon = 0, 4
6 | 2016-07-09 16:41:26,785: root : INFO : lat, lon = 0, 5
7 | 2016-07-09 16:41:26,792: root : INFO : lat, lon = 1, 0
8 | 2016-07-09 16:41:26,793: root : INFO : lat, lon = 1, 1
9 | 2016-07-09 16:41:26,793: root : INFO : lat, lon = 1, 2
10 | 2016-07-09 16:41:26,793: root : INFO : lat, lon = 1, 3
11 | 2016-07-09 16:41:26,794: root : INFO : lat, lon = 1, 4
12 | 2016-07-09 16:41:26,794: root : INFO : lat, lon = 1, 5
13 | 2016-07-09 16:41:26,794: root : INFO : lat, lon = 2, 0
14 | 2016-07-09 16:41:26,794: root : INFO : lat, lon = 2, 1
15 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/root_logger/logfile.log:
--------------------------------------------------------------------------------
1 | WARNING : 2. Log to both file and console
2 | DEBUG : 3. Log to file only
3 | WARNING : 4. Log to both file and console
4 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/rot_fh/rot_fh.log:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/rot_fh/rot_fh.log.1:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/rot_fh/rot_fh.log.2:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_log saved/_log--3.x-runs (II)/rot_fh/rot_fh.log.3:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/examples/_smtp_credentials.py:
--------------------------------------------------------------------------------
1 | #
2 | # NOTE: EDIT THESE VARIABLES to run the SMTP examples
3 | #
4 |
5 | SMTP_USERNAME = 'john.doe' # assuming your sending email address is
6 | # 'john.doe@' + hostname, e.g. 'john.doe@gmail.com'
7 | SMTP_PASSWORD = 'password' # your password
8 |
9 | FROM_ADDRESS = SMTP_USERNAME + '@' + 'gmail.com' # or @ another host
10 | SMTP_SERVER = ('smtp.gmail.com', 587) # for example (actually valid)
11 |
12 | # For gmail:
13 | # FROM_ADDRESS = SMTP_USERNAME + '@gmail.com'
14 | # SMTP_SERVER = ('smtp.gmail.com', 587)
15 | #
16 | # 587 = TLS port
17 | # See http://email.about.com/od/accessinggmail/f/Gmail_SMTP_Settings.htm
18 |
--------------------------------------------------------------------------------
/examples/check_for_NUL.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 |
5 |
6 | def check_for_NUL(filename, verbose=False):
7 | """
8 | :param filename: file to check for ASCII 0 bytes
9 | :param verbose: if true, print stuff; if not, don't.
10 | :return: bool, True iff filename contains NUL
11 | """
12 | with open(filename, 'r') as f:
13 | lines = f.readlines()
14 |
15 | if verbose: print('%s -- checking for NUL bytes' % filename)
16 | has_NULs = False
17 | for i, line in enumerate(lines):
18 | if 0 in (ord(c) for c in line):
19 | has_NULs = True
20 | if verbose:
21 | print("Line %d has NUL" % i)
22 | print(line)
23 | if verbose: print()
24 |
25 | return has_NULs
26 |
27 | if __name__ == '__main__':
28 | import sys
29 | check_for_NUL(sys.argv[1], verbose=True)
30 |
31 |
--------------------------------------------------------------------------------
/examples/child_logger2_sub_noprop.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 |
4 | def report_name_package():
5 | logging.getLogger(__name__).info("__name__ = %r __package__ = %r"
6 | % (__name__, __package__))
7 |
8 |
9 | def logging_config_sub(lcd):
10 | """
11 | Set this logger to propagate=False:
12 | the handlers of parent_loggername WON'T be used.
13 | So this logger will need its own handlers.
14 | """
15 | # # clone console handler, DON'T add to root, set loglevel = DEBUG
16 | lcd.clone_handler(clone='console_DEBUG',
17 | handler='console',
18 | attach_to_root=False)
19 | lcd.set_handler_level('console_DEBUG', 'DEBUG')
20 |
21 | # use file handler 'app_file' (magic string eh)
22 | lcd.add_logger(__name__,
23 | handlers=['console_DEBUG', 'app_file'],
24 | propagate=False) # propagate=True, logging default
25 |
26 |
27 | def do_something_boring(n):
28 | logging.getLogger(__name__).debug("Doing something boring with %d" % n)
29 |
30 |
31 | def do_something_special(n):
32 | logging.getLogger(__name__).info("Doing something SPECIAL with %d" % n)
33 |
34 |
--------------------------------------------------------------------------------
/examples/child_logger2_sub_prop.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 |
4 | def report_name_package():
5 | logging.getLogger(__name__).info("__name__ = %r __package__ = %r"
6 | % (__name__, __package__))
7 |
8 |
9 | def logging_config_sub(lcd):
10 | lcd.add_logger(__name__) # propagate=True, logging default
11 |
12 |
13 | def do_something_boring(n):
14 | logging.getLogger(__name__).debug("Doing something boring with %d" % n)
15 |
16 |
17 | def do_something_special(n):
18 | logging.getLogger(__name__).info("Doing something SPECIAL with %d" % n)
19 |
20 |
--------------------------------------------------------------------------------
/examples/child_logger_sub_noprop.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 |
4 | _logger_name = None # set by logging_config_sub
5 |
6 |
7 | def logging_config_sub(lcd,
8 | parent_loggername,
9 | # *,
10 | file_handler=None):
11 | """
12 | Set this logger to propagate=False:
13 | the handlers of parent_loggername WON'T be used,
14 | so this logger will need its own handlers.
15 | """
16 | global _logger_name
17 | _logger_name = parent_loggername + '.sub_noprop'
18 |
19 | # clone console handler, loglevel = DEBUG
20 | lcd.clone_handler(clone='console_DEBUG',
21 | handler='console',
22 | attach_to_root=False)
23 | lcd.set_handler_level('console_DEBUG', 'DEBUG')
24 |
25 | # Use handlers 'console_DEBUG' and file handler file_handler
26 | lcd.add_logger(_logger_name,
27 | handlers=['console_DEBUG', file_handler],
28 | propagate=False) # propagate=True, logging default
29 |
30 |
31 | def do_something_boring(n):
32 | logging.getLogger(_logger_name).debug("Doing something boring with %d" % n)
33 |
34 |
35 | def do_something_special(n):
36 | logging.getLogger(_logger_name).info("Doing something SPECIAL with %d" % n)
37 |
38 |
--------------------------------------------------------------------------------
/examples/child_logger_sub_prop.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 |
4 | _logger_name = None # set by logging_config_sub
5 |
6 |
7 | def logging_config_sub(lcd,
8 | loggername,
9 | # *,
10 | file_handler=None):
11 | global _logger_name
12 | _logger_name = loggername + '.sub_prop'
13 | lcd.add_logger(_logger_name) # propagate=True, logging default
14 |
15 |
16 | def do_something_boring(n):
17 | logging.getLogger(_logger_name).debug("Doing something boring with %d" % n)
18 |
19 |
20 | def do_something_special(n):
21 | logging.getLogger(_logger_name).info("Doing something SPECIAL with %d" % n)
22 |
23 |
--------------------------------------------------------------------------------
/examples/custom_callable_formatter.py:
--------------------------------------------------------------------------------
1 | from prelogging import LCDict
2 | import logging
3 |
4 | KEYWORD = 'my_keyword'
5 |
6 | # "callable formatter"
7 | def callable_formatter(logrecord, format, **kwds):
8 | return (
9 | ("callable_formatter [ %r: %r]: " % (KEYWORD, kwds.get(KEYWORD, None)))
10 | +
11 | (format % vars(logrecord))
12 | )
13 |
14 |
15 | def formatter_factory(**kwargs):
16 | format = kwargs.pop('format')
17 | formatter = lambda record: callable_formatter(record, format, **kwargs)
18 | formatter.format = formatter # `logging` requires this
19 | return formatter
20 |
21 |
22 | if __name__ == '__main__':
23 | lcd = LCDict(attach_handlers_to_root=True)
24 | lcd.add_formatter( 'my_formatter',
25 | format='%(name)s - %(levelname)s - %(msg)s',
26 | # dateformat=...,
27 | # style='%',
28 | ** {'()': formatter_factory,
29 | KEYWORD: 'my_value'} )
30 | lcd.add_stdout_handler('out', formatter='my_formatter')
31 | lcd.config()
32 |
33 | root = logging.getLogger()
34 | root.debug("Debug.")
35 | root.info("Info.")
36 | root.warning("Warning.")
37 | root.error("Error.")
38 | root.critical("Critical.")
39 | """
40 | callable_formatter [ 'my_keyword': 'my_value']: root - WARNING - Warning.
41 | callable_formatter [ 'my_keyword': 'my_value']: root - ERROR - Error.
42 | callable_formatter [ 'my_keyword': 'my_value']: root - CRITICAL - Critical.
43 | """
44 |
--------------------------------------------------------------------------------
/examples/custom_class_formatter.py:
--------------------------------------------------------------------------------
1 | from prelogging import LCDict
2 | import logging
3 |
4 | KEYWORD = 'my_keyword'
5 |
6 | # "class formatter"
7 |
8 | class MyFormatter(logging.Formatter):
9 | def __init__(self, **kwargs):
10 | self.value=kwargs.pop(KEYWORD, '')
11 | kwargs.pop('class', None)
12 | s = super(MyFormatter, self).__init__(**kwargs)
13 |
14 | def format(self, logrecord, *args, **kwds):
15 | message = super(MyFormatter, self).format(logrecord, *args, **kwds)
16 | return 'MyFormatter [%r: %r] says: %s' % (KEYWORD, self.value, message)
17 |
18 |
19 | if __name__ == '__main__':
20 | lcd = LCDict(attach_handlers_to_root=True)
21 | lcd.add_formatter( 'my_formatter',
22 | format='%(name)s - %(levelname)s - %(message)s',
23 | # dateformat=...,
24 | # style=?,
25 | ** {'()': MyFormatter,
26 | KEYWORD: 'my_value'} )
27 | lcd.add_stdout_handler('out', formatter='my_formatter')
28 | lcd.config()
29 |
30 | root = logging.getLogger()
31 | root.debug("Debug.")
32 | root.info("Info.")
33 | root.warning("Warning.")
34 | root.error("Error.")
35 | root.critical("Critical.")
36 | """
37 | MyFormatter ['my_keyword': 'my_value'] says: root - WARNING - Warning.
38 | MyFormatter ['my_keyword': 'my_value'] says: root - ERROR - Error.
39 | MyFormatter ['my_keyword': 'my_value'] says: root - CRITICAL - Critical.
40 | """
41 |
--------------------------------------------------------------------------------
/examples/dateformat.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | import logging
4 | try:
5 | import prelogging
6 | except ImportError:
7 | import sys
8 | sys.path[0:0] = ['..']
9 | from prelogging import LCDict
10 |
11 |
12 | def main():
13 | """
14 | Not a test because... your mileage *will* vary (hard to test).
15 | """
16 | lcd = LCDict(attach_handlers_to_root=True)
17 |
18 | # style='%' is the default
19 | lcd.add_formatter('fmtr1',
20 | format='%(asctime)s %(levelname)s: %(message)s',
21 | dateformat='%H:%M:%S')
22 |
23 | lcd.add_formatter('fmtr2',
24 | fmt='%(asctime)s -- %(message)s',
25 | datefmt='%Y.%m.%d') # %Y: 4-digit years; %y: 2-digit years
26 |
27 | lcd.add_stdout_handler('con1', formatter='fmtr1')
28 | lcd.add_stdout_handler('con2', formatter='fmtr2')
29 |
30 | lcd.config()
31 |
32 | logging.getLogger().warning('Danger, Will Robinson!')
33 | # Prints, for example:
34 | # 02:32:07 WARNING: Danger, Will Robinson!
35 | # 2018.08.08 -- Danger, Will Robinson!
36 |
37 | if __name__ == "__main__":
38 | main()
39 |
--------------------------------------------------------------------------------
/examples/filter-adding-fields--custom-formatter-keywords-for-fields.py:
--------------------------------------------------------------------------------
1 | import logging
2 | from prelogging import LCDict
3 | from random import choice
4 |
5 | """
6 | Illustrates adding custom fields and data to logged messages.
7 |
8 | Loosely adapts the section
9 | `Using Filters to impart contextual information `_
10 | of The Logging Cookbook.
11 | """
12 |
13 | USER = 0
14 | IP = 1
15 |
16 |
17 | class FilterThatAddsFields():
18 | def __init__(self, *args, **kwargs):
19 | # self.fieldname = kwargs.get('fieldname', '')
20 | self.datasource = kwargs.get('datasource', None) # callable
21 |
22 | def filter(self, record):
23 | """ Add attributes to `record`.
24 | Attr names must be the same as keywords in format arg of `add_formatter`
25 | (below).
26 | """
27 | record.user = self.datasource(USER)
28 | record.ip = self.datasource(IP)
29 | return True
30 |
31 |
32 | def get_data(keyword):
33 | """ Source of dynamic data, passed to filter via `add_class_filter` """
34 | IPS = ['192.0.0.1', '254.15.16.17']
35 | USERS = ['John', 'Mary', 'Arachnid']
36 |
37 | if keyword == IP:
38 | return choice(IPS)
39 | elif keyword == USER:
40 | return choice(USERS)
41 | return None
42 |
43 |
44 | def config_logging():
45 | lcd = LCDict(attach_handlers_to_root=True,
46 | root_level='DEBUG')
47 | lcd.add_formatter('user_ip_level_msg',
48 | format='User: %(user)-10s IP: %(ip)-15s %(levelname)-8s %(message)s')
49 | lcd.add_stdout_handler('console-out',
50 | level='DEBUG',
51 | formatter='user_ip_level_msg')
52 | lcd.add_class_filter('field-adding_filter', FilterThatAddsFields,
53 | # extra, static data
54 | datasource=get_data)
55 | lcd.attach_root_filters('field-adding_filter')
56 |
57 | lcd.config()
58 |
59 |
60 | if __name__ == '__main__':
61 | LEVELS = (logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR, logging.CRITICAL)
62 | config_logging()
63 | # root = logging.getLogger()
64 |
65 | for i in range(10):
66 | logging.log(choice(LEVELS), "Msg %d", i)
67 | '''
68 | Prints something like (ymwv):
69 | User: Arachnid IP: 254.15.16.17 CRITICAL Msg 0
70 | User: John IP: 192.0.0.1 INFO Msg 1
71 | User: Mary IP: 192.0.0.1 DEBUG Msg 2
72 | User: John IP: 192.0.0.1 CRITICAL Msg 3
73 | User: Mary IP: 254.15.16.17 WARNING Msg 4
74 | User: John IP: 254.15.16.17 CRITICAL Msg 5
75 | User: John IP: 254.15.16.17 DEBUG Msg 6
76 | User: John IP: 254.15.16.17 CRITICAL Msg 7
77 | User: Arachnid IP: 192.0.0.1 DEBUG Msg 8
78 | User: Mary IP: 254.15.16.17 ERROR Msg 9
79 | '''
80 |
--------------------------------------------------------------------------------
/examples/filter-callable-extra-static-data.py:
--------------------------------------------------------------------------------
1 | import logging
2 | from prelogging import LCDict
3 |
4 | _level_count = 0
5 |
6 |
7 | def filter_fn(record, **kwargs):
8 | """ Returns int or bool -- not great practice, but just to distinguish
9 | which branch of if-then-else was taken.
10 | """
11 | filtername = kwargs.get('filtername', '')
12 | loglevel_to_count = kwargs.get('loglevel_to_count', 0)
13 |
14 | """Suppress odd-numbered messages (records)
15 | whose level == loglevel_to_count,
16 | where the "first" message is 0-th hence even-numbered.
17 | """
18 | global _level_count
19 | if record.levelno == loglevel_to_count:
20 | _level_count += 1
21 | ret = _level_count % 2 # int
22 | else:
23 | ret = True # bool
24 |
25 | print("{}: record levelname = {}, _level_count = {}; returning {}".
26 | format(filtername, record.levelname,
27 | _level_count, ret))
28 | return ret
29 |
30 |
31 | def config_logging():
32 | lcd = LCDict(attach_handlers_to_root=True,
33 | root_level='DEBUG')
34 | lcd.add_stdout_handler('console-out',
35 | level='DEBUG',
36 | formatter='level_msg')
37 | lcd.add_callable_filter('count_info', filter_fn,
38 | # extra, static data
39 | filtername='count_info',
40 | loglevel_to_count=logging.INFO)
41 | lcd.attach_root_filters('count_info')
42 |
43 | lcd.config()
44 |
45 |
46 | if __name__ == '__main__':
47 | config_logging()
48 |
49 | root = logging.getLogger()
50 |
51 | for i in range(2):
52 | print("\ni ==", i)
53 | root.debug(str(i))
54 | root.info(str(i))
55 |
--------------------------------------------------------------------------------
/examples/filter-class-extra-static-data.py:
--------------------------------------------------------------------------------
1 | import logging
2 | from prelogging import LCDict
3 |
4 |
5 | class CountAndSquelchOdd():
6 | def __init__(self, *args, **kwargs):
7 | self.level_count = 0
8 |
9 | print(kwargs)
10 | # {'filtername': _____, 'loglevel_to_count': nnn}
11 | self.filtername = kwargs.get('filtername', '')
12 | self.loglevel_to_count = kwargs.get('loglevel_to_count', 0)
13 |
14 | def filter(self, record):
15 | """Suppress odd-numbered messages (records)
16 | whose level == self.loglevel_to_count,
17 | where the "first" message is 0-th hence even-numbered.
18 |
19 | Returns int or bool -- not great practice, but just to distinguish
20 | which branch of if-then-else was taken.
21 | """
22 | if record.levelno == self.loglevel_to_count:
23 | self.level_count += 1
24 | ret = self.level_count % 2 # int
25 | else:
26 | ret = True # bool
27 |
28 | print("{:11s} > record levelname = {}, self.level_count = {}; returning {}".
29 | format(self.filtername, record.levelname,
30 | self.level_count, ret))
31 | return ret
32 |
33 | def config_logging():
34 | lcd = LCDict(attach_handlers_to_root=True,
35 | root_level='DEBUG')
36 | lcd.add_stdout_handler('console-out',
37 | level='DEBUG',
38 | formatter='level_msg')
39 | lcd.add_class_filter('count_debug', CountAndSquelchOdd,
40 | # extra, static data
41 | filtername='count_debug',
42 | loglevel_to_count=logging.DEBUG)
43 | lcd.add_class_filter('count_info', CountAndSquelchOdd,
44 | # extra, static data
45 | filtername='count_info',
46 | loglevel_to_count=logging.INFO)
47 | lcd.attach_root_filters('count_debug', 'count_info')
48 |
49 | lcd.config()
50 |
51 | if __name__ == '__main__':
52 | config_logging()
53 | root = logging.getLogger()
54 |
55 | for i in range(2):
56 | print("\ni ==", i)
57 | root.debug(str(i))
58 | print("---")
59 | root.info(str(i))
60 |
--------------------------------------------------------------------------------
/examples/library/__init__.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | import logging
4 | try:
5 | import prelogging
6 | except ImportError:
7 | import sys
8 | sys.path[0:0] = ['../..']
9 | from prelogging import LCDict
10 |
11 |
12 | from .module import *
13 | from . import module
14 | __all__ = module.__all__
15 |
16 |
17 | # configure logging
18 | lcd = LCDict() # default: disable_existing_loggers=False
19 | lcd.add_null_handler('library-nullhandler') # default: level='NOTSET'
20 | lcd.add_logger('library', handlers='library-nullhandler', level='INFO')
21 | lcd.config()
22 |
--------------------------------------------------------------------------------
/examples/library/module.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | import logging
4 |
5 | __all__ = ['do_package_thing', 'do_something', 'do_something_else']
6 |
7 |
8 | def do_package_thing():
9 | logger = logging.getLogger(__package__)
10 | logger.info("INFO msg from package logger")
11 | print("Did package thing.")
12 |
13 | def do_something():
14 | logger = logging.getLogger(__name__)
15 | logger.debug("DEBUG msg")
16 | logger.info("INFO msg")
17 | print("Did something.")
18 |
19 | def do_something_else():
20 | logging.getLogger(__name__ + '.other').warning("WARNING msg")
21 | print("Did something else.")
22 |
--------------------------------------------------------------------------------
/examples/mproc_deco.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 | __version__ = '0.2'
5 |
6 | try:
7 | from deco import *
8 | except ImportError:
9 | raise ImportError("`mproc_deco.py` requires the `deco` package -- "
10 | "https://github.com/alex-sherman/deco")
11 |
12 | import time
13 | import random
14 | from collections import defaultdict
15 |
16 | import logging
17 |
18 |
19 | try:
20 | import prelogging
21 | except ImportError:
22 | import sys
23 | sys.path[0:0] = ['..']
24 | from prelogging import LCDict
25 |
26 | from examples._get_locking_pref import get_locking_pref
27 |
28 |
29 | @concurrent # add this for the concurrent function
30 | def process_lat_lon(lat, lon, data):
31 | time.sleep(0.1)
32 |
33 | logging.getLogger().info("processing lat, lon = %d, %d"
34 | "\n\t %d, %d"
35 | % (lat, lon, lat, lon)
36 | # % (lat, lon)
37 | )
38 | # logging.getLogger().debug('processing %d, %d' % (lat, lon)) # or use __name__
39 |
40 | return data[lat + lon]
41 |
42 |
43 | @synchronized # add this for the function that calls the concurrent function
44 | def process_data_set(data):
45 | results = defaultdict(dict)
46 | for lat in range(5):
47 | for lon in range(5):
48 | logging.getLogger().info("lat, lon = %d, %d" % (lat, lon))
49 |
50 | results[lat][lon] = process_lat_lon(lat, lon, data)
51 |
52 | return dict(results)
53 |
54 |
55 | def config_logging(use_locking):
56 | logfilename = 'logfile (%s).log' % ('LOCKING' if use_locking else 'NOLOCKING')
57 | lcd = LCDict(log_path='_log/mproc_deco/',
58 | root_level='DEBUG',
59 | attach_handlers_to_root=True,
60 | locking=use_locking)
61 | # Set up console handler to show process name, time, handler name
62 | lcd.add_stderr_handler(
63 | 'console', formatter='process_time_logger_level_msg', level='INFO'
64 | )
65 | # Add main file handler, which will write to log_path + '/' + logfilename
66 | lcd.add_file_handler(
67 | 'app_file',
68 | filename=logfilename,
69 | mode='w',
70 | formatter='process_time_logger_level_msg',
71 | )
72 | lcd.config()
73 |
74 |
75 | def main(use_locking=None):
76 | """
77 | :param use_locking: bool
78 | """
79 | if use_locking is None:
80 | use_locking = get_locking_pref()
81 |
82 | config_logging(use_locking)
83 |
84 | random.seed(0)
85 | data = [random.random() for _ in range(200)]
86 | start = time.time()
87 | logging.getLogger().debug(process_data_set(data))
88 | # Epilogue
89 | logging.getLogger().debug(time.time() - start)
90 |
91 |
92 | if __name__ == "__main__":
93 | main()
94 |
--------------------------------------------------------------------------------
/examples/queue_handler_listener.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 |
5 | __doc__ = """
6 | An example that illustrates how to use a QueueListener with `prelogging` so that
7 | messages can be logged on a separate thread. In this way, handlers that block
8 | and take long to complete (e.g. SMTP handlers, which send emails) won't make
9 | other threads (e.g. the UI thread) stall and stutter.
10 |
11 | For motivation, see
12 |
13 | `Dealing with handlers that block
14 | `_
15 |
16 | We've adapted the code in that section to `prelogging`.
17 |
18 | Another approach can be found in the example
19 | ``mproc_approach__queue_handler_logging_thread.py``.
20 | """
21 |
22 | import logging
23 |
24 | try:
25 | import prelogging
26 | except ImportError:
27 | import sys
28 | sys.path[0:0] = ['..'] # , '../..'
29 | from prelogging import LCDict
30 |
31 | from prelogging.six import PY2
32 | if PY2:
33 | exit("%s: logging.handlers.QueueHandler doesn't exist in Python 2"
34 | % __file__)
35 |
36 | from queue import Queue
37 | from time import sleep
38 |
39 |
40 | def main():
41 |
42 | q = Queue(-1) # no limit on size
43 |
44 | LCDict(
45 | attach_handlers_to_root=True
46 | ).add_formatter(
47 | 'fmtr', format='%(threadName)s: %(name)s: %(levelname)-8s: %(message)s'
48 | ).add_stderr_handler(
49 | 'con', formatter='fmtr'
50 | ).add_queue_handler(
51 | 'qhandler', queue=q
52 | ).config()
53 |
54 | root = logging.getLogger()
55 |
56 | # NOTE the following kludge for obtaining a reference to the QueueHandler
57 | # attached to root. As of Py3.7, the ``handlers`` attribute of a Logger
58 | # is undocumented. A more concise way to write the condition is to use
59 | # the ``name`` property of Handlers, also undocumented as of 3.7:
60 | # if handler.name == 'qhandler'
61 | #
62 | the_qhandler = [handler for handler in root.handlers
63 | if isinstance(handler, logging.handlers.QueueHandler)][0]
64 | listener = logging.handlers.QueueListener(q, the_qhandler)
65 | listener.start()
66 | # The log output will display the thread which generated
67 | # the event (the main thread) rather than the internal
68 | # thread which monitors the internal queue. This is what
69 | # you want to happen.
70 | root.warning('Look out!')
71 | sleep(1)
72 | root.error('Too late!')
73 | listener.stop()
74 |
75 | # which, when run, will produce:
76 | # MainThread: root: WARNING : Look out!
77 | # MainThread: root: ERROR : Too late!
78 |
79 |
80 | if __name__ == '__main__':
81 | main()
82 |
--------------------------------------------------------------------------------
/examples/requirements.txt:
--------------------------------------------------------------------------------
1 | deco>=0.2
2 |
--------------------------------------------------------------------------------
/examples/root_logger.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 |
5 | import logging
6 |
7 | try:
8 | import prelogging
9 | except ImportError:
10 | import sys
11 | sys.path[0:0] = ['..'] # , '../..'
12 | from prelogging import LCDict
13 |
14 |
15 | #############################################################################
16 |
17 | def config_logging(log_path, logfilename=''):
18 | """Create a root logger with a stdout console handler with loglevel=INFO,
19 | and, if logfilename is not empty, a file handler with default loglevel=NOTSET.
20 | Root loglevel will be INFO.
21 | """
22 | lcd = LCDict(log_path=log_path,
23 | attach_handlers_to_root=True,
24 | root_level='INFO')
25 | lcd.add_stdout_handler('console', level='INFO', formatter='msg')
26 | if logfilename:
27 | # add a file handler, which will write to log_path + '/' + logfilename
28 | lcd.add_formatter(
29 | 'my_file_formatter',
30 | format='%(levelname)-8s: %(message)s',
31 | ).add_file_handler(
32 | 'app_file',
33 | filename=logfilename,
34 | mode='w',
35 | formatter='my_file_formatter'
36 | )
37 | # lcd.dump() # | DEBUG
38 |
39 | lcd.config()
40 |
41 |
42 | def main():
43 | LOG_PATH = '_log/root_logger' # NOTE: directory should already exist
44 | logfilename = 'logfile.log'
45 |
46 | config_logging(LOG_PATH, logfilename)
47 |
48 | logger = logging.getLogger()
49 | logger.debug("1. Message not logged")
50 | logger.warning("2. Log to both file and console")
51 |
52 | logger.setLevel(logging.DEBUG)
53 | logger.debug("3. Log to file only")
54 | logger.warning("4. Log to both file and console")
55 |
56 | # _log/root_logger/logfile.log contains these lines, flush left:
57 | # WARNING : 2. Log to both file and console
58 | # DEBUG : 3. Log to file only
59 | # WARNING : 4. Log to both file and console
60 |
61 | # Logged to the console (stdout), flush left:
62 | # 2. Log to both file and console
63 | # 4. Log to both file and console
64 |
65 |
66 |
67 | #############################################################################
68 |
69 | if __name__ == '__main__':
70 | main()
71 |
--------------------------------------------------------------------------------
/examples/syslog.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | """
3 | NON-multiprocessing rotating file handler.
4 | """
5 |
6 | __author__ = 'brianoneill'
7 |
8 | import logging
9 | # from pprint import pformat
10 |
11 | try:
12 | import prelogging
13 | except ImportError:
14 | import sys
15 | sys.path[0:0] = ['../..']
16 | from prelogging import LCDict
17 |
18 |
19 | #############################################################################
20 | import sys
21 |
22 | def config_logging():
23 | """Add a stdout console handler with level=WARNING to the root logger,
24 | and a syslog handler with default level=NOTSET.
25 | Root logger level will be DEBUG.
26 | """
27 | # Defaults:
28 | # attach_handlers_to_root=False,
29 | lcd = LCDict(attach_handlers_to_root=True,
30 | locking=True,
31 | root_level='DEBUG')
32 |
33 | lcd.add_stdout_handler('console', level='WARNING', formatter='msg')
34 |
35 | if not sys.platform.startswith('darwin'):
36 | raise NotImplementedError(
37 | "This example is currently implemented only for OS X / macOS")
38 |
39 | # add a syslog handler
40 | lcd.add_syslog_handler(
41 | 'h_syslog',
42 | formatter='logger_level_msg',
43 | address='/var/run/syslog',
44 | )
45 | lcd.config()
46 |
47 | #############################################################################
48 |
49 | def main():
50 | config_logging()
51 | logger = logging.getLogger()
52 |
53 | logger.debug("1 blah")
54 | logger.info("2 blah^2")
55 | logger.warning("3 Now is the time for the crazy brown fox to come to the aid of the party")
56 | logger.error("4 blah^4")
57 | logger.critical("5 blah^5")
58 |
59 |
60 | if __name__ == '__main__':
61 | main()
62 |
--------------------------------------------------------------------------------
/examples/use_library.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 |
5 | import library
6 |
7 | import logging
8 |
9 | try:
10 | import prelogging
11 | except ImportError:
12 | import sys
13 | sys.path[0:0] = ['..'] # , '../..'
14 | from prelogging import LCDict
15 |
16 |
17 | def logging_config():
18 | d = LCDict(attach_handlers_to_root=True) # LCDict default: =False
19 | d.add_stdout_handler('stdout', formatter='logger_level_msg', level='DEBUG')
20 | # NOTE: root level is WARNING (default),
21 | # . 'library' logger level is INFO.
22 | # . Messages of 'library' propagate,
23 | # . and those of levels INFO and up *are logged*.
24 | d.config()
25 |
26 |
27 | def main():
28 | # Exercise:
29 | # Comment out and uncomment the following two lines, individually
30 | # (4 cases); observe the console output in each case.
31 |
32 | logging_config()
33 | logging.getLogger().warning("I must caution you about that.")
34 |
35 | library.do_package_thing()
36 | library.do_something()
37 | library.do_something_else()
38 |
39 | # Results:
40 | """
41 | (1)
42 | logging_config()
43 | logging.getLogger().warning("I must caution you about that.")
44 | writes to stdout:
45 | root : WARNING : I must caution you about that.
46 | library : INFO : INFO msg from package logger
47 | Did package thing.
48 | library.module : INFO : INFO msg
49 | Did something.
50 | library.module.other: WARNING : WARNING msg
51 | Did something else.
52 | (2)
53 | # logging_config()
54 | logging.getLogger().warning("I must caution you about that.")
55 |
56 | writes (to stdout)
57 | Did package thing.
58 | Did something.
59 | Did something else.
60 | and (to stderr)
61 | I must caution you about that.
62 | (possibly between or after the lines written to stdout).
63 |
64 | (3)
65 | logging_config()
66 | # logging.getLogger().warning("I must caution you about that.")
67 | writes to stdout:
68 | library : INFO : INFO msg from package logger
69 | Did package thing.
70 | library.module : INFO : INFO msg
71 | Did something.
72 | library.module.other: WARNING : WARNING msg
73 | Did something else.
74 | (4)
75 | # logging_config()
76 | # logging.getLogger().warning("I must caution you about that.")
77 | writes to stdout
78 | Did package thing.
79 | Did something.
80 | Did something else.
81 | """
82 |
83 |
84 | if __name__ == '__main__':
85 | main()
86 |
--------------------------------------------------------------------------------
/prelogging/__init__.py:
--------------------------------------------------------------------------------
1 | __author__ = "Brian O'Neill"
2 |
3 | from ._version import __version_sans_release__, __version__
4 | from .lcdictbasic import LCDictBasic
5 | from .lcdict import LCDict
6 | from . import (locking_handlers, lcdict_builder_abc, formatter_presets)
7 | from .locking_handlers import *
8 | from .formatter_presets import *
9 | from .lcdict_builder_abc import *
10 |
11 | __all__ = (
12 | ['__author__',
13 | '__version_sans_release__',
14 | '__version__',
15 | 'LCDictBasic',
16 | 'LCDict',
17 | ] +
18 | locking_handlers.__all__ +
19 | lcdict_builder_abc.__all__ +
20 | formatter_presets.__all__
21 | )
22 |
--------------------------------------------------------------------------------
/prelogging/_version.py:
--------------------------------------------------------------------------------
1 | __version_sans_release__ = '0.4.3'
2 | __version__ = __version_sans_release__ + ''
3 |
--------------------------------------------------------------------------------
/prelogging/formatter_presets.txt:
--------------------------------------------------------------------------------
1 | msg
2 | format: '%(message)s'
3 |
4 | level_msg
5 | format: '%(levelname)-8s: %(message)s'
6 |
7 | process_msg
8 | format: '%(processName)-10s: %(message)s'
9 |
10 | logger_process_msg
11 | format: '%(name)-20s: %(processName)-10s: %(message)s'
12 |
13 | logger_level_msg
14 | format: '%(name)-20s: %(levelname)-8s: %(message)s'
15 |
16 | logger_msg
17 | format: '%(name)-20s: %(message)s'
18 |
19 | process_level_msg
20 | format: '%(processName)-10s: %(levelname)-8s: %(message)s'
21 |
22 | process_time_level_msg
23 | format: '%(processName)-10s: %(asctime)s: %(levelname)-8s: %(message)s'
24 |
25 | process_logger_level_msg
26 | format: '%(processName)-10s: %(name)-20s: %(levelname)-8s: %(message)s'
27 |
28 | process_time_logger_level_msg
29 | format: '%(processName)-10s: %(asctime)s: %(name)-20s: %(levelname)-8s: %(message)s'
30 |
31 | time_logger_level_msg
32 | format: '%(asctime)s: %(name)-20s: %(levelname)-8s: %(message)s'
33 |
--------------------------------------------------------------------------------
/run_all.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | __author__ = 'brianoneill'
4 |
5 | import os
6 | from _execfile import _execfile
7 |
8 | _execfile('run_tests.py') # cwd = prelogging/tests/
9 | os.chdir('..')
10 | _execfile('run_examples.py') # cwd = examples/
11 | # # print( ">>>>>>>>>>>>> CWD:", os.getcwd() )
12 | # os.chdir('..')
13 | # _execfile('run_examples2.py')
14 |
--------------------------------------------------------------------------------
/run_tests.py:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env python3
2 |
3 | import os
4 | import sys
5 | import unittest
6 |
7 | def usage():
8 | """Usage: /run_tests.py [-v | -q | -h]
9 | is the path to the directory containing run_tests.py.
10 | Use . if running it from its own directory.
11 | -v Verbose output, each test that's run is listed.
12 | -q Quiet(est) output.
13 | -h Display this message.
14 | """
15 | exit(usage.__doc__)
16 |
17 | verbosity = 1
18 | if len(sys.argv) > 1:
19 | arg = sys.argv[1].upper()
20 |
21 | if arg.startswith("-H"):
22 | usage() # exits
23 |
24 | if arg.startswith("-Q"):
25 | verbosity = 0
26 | elif arg.startswith("-V"):
27 | verbosity = 2
28 |
29 | home, _ = os.path.split(__file__)
30 | tests_dir = os.path.join(home, 'tests')
31 |
32 | # 0.2.4 Change to tests_dir, which tests expect
33 | tests_dir = os.path.abspath(tests_dir)
34 | os.chdir(tests_dir)
35 |
36 | unittest.TextTestRunner(verbosity=verbosity).run(
37 | unittest.defaultTestLoader.discover(tests_dir)
38 | )
39 |
--------------------------------------------------------------------------------
/setup.cfg:
--------------------------------------------------------------------------------
1 | [metadata]
2 | ### description-file = README.rst
3 | upload-dir = docs/_build/html
4 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | # PyPI supports rST, hence:
4 | __doc__ = """\
5 | `prelogging` streamlines the configuration of Python logging, provides
6 | better error checking, and offers easy multiprocessing-safe
7 | logging to streams, files, rotating files and the system log.
8 | """
9 | from prelogging import __version__, __author__
10 | from setuptools import setup #, find_packages
11 |
12 | setup(
13 | name='prelogging',
14 | version=__version__,
15 | author=__author__, # "Brian O'Neill",
16 | author_email='twangist@gmail.com',
17 | description='streamlines the configuration of Python logging, includes '
18 | 'multiprocessing-safe handlers',
19 | long_description=__doc__,
20 | license='MIT',
21 | keywords='logging config dictConfig dict configuration multiprocessing '
22 | 'rotating file syslog SMTP queue handler',
23 | url='http://github.com/Twangist/prelogging',
24 | packages=['prelogging'],
25 | test_suite='run_tests.py',
26 | scripts=[],
27 | include_package_data=False,
28 | classifiers=[
29 | 'Development Status :: 5 - Production/Stable',
30 | 'License :: OSI Approved :: MIT License',
31 | 'Programming Language :: Python',
32 | 'Programming Language :: Python :: 2.7',
33 | 'Programming Language :: Python :: 3',
34 | 'Programming Language :: Python :: 3.4',
35 | 'Programming Language :: Python :: 3.5',
36 | 'Programming Language :: Python :: 3.6',
37 | 'Programming Language :: Python :: 3.7',
38 | 'Programming Language :: Python :: Implementation :: CPython',
39 | 'Intended Audience :: Developers',
40 | 'Operating System :: OS Independent',
41 | 'Topic :: Software Development :: Libraries',
42 | 'Topic :: Utilities',
43 | 'Topic :: System :: Logging',
44 | ]
45 | )
46 |
--------------------------------------------------------------------------------
/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/tests/__init__.py
--------------------------------------------------------------------------------
/tests/_testlogs/builder/subA.log:
--------------------------------------------------------------------------------
1 | subA : ERROR : 13.
2 | subA : CRITICAL: 14.
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/builder/subB.log:
--------------------------------------------------------------------------------
1 | subB : DEBUG : 20.
2 | subB : INFO : 21.
3 | subB : WARNING : 22.
4 | subB : ERROR : 23.
5 | subB : CRITICAL: 24.
6 |
--------------------------------------------------------------------------------
/tests/_testlogs/logfile.log:
--------------------------------------------------------------------------------
1 | WARNING : 2. Log to both file and console
2 | DEBUG : 3. Log to file only
3 | WARNING : 4. Log to both file and console
4 |
--------------------------------------------------------------------------------
/tests/_testlogs/logfile_delay.log:
--------------------------------------------------------------------------------
1 | INFO : 2. Log to both file and console
2 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.1:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.10:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.2:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.3:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.4:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.5:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.6:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 1 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 1 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.7:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 0 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 0 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.8:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 3 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 3 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/_testlogs/rot_fh/test_rot_fh.log.9:
--------------------------------------------------------------------------------
1 | DEBUG : <<<< 2 >>>> AAAAAaaaaaBBBBBbbbbbCCCCCcccccDDDDDdddddEEEEEeeeeeFFFFFfffffGGGGGggggg
2 | WARNING : <<<< 2 >>>> 0....x....1....x....2....x....3....x....4....x....5....x....6....x....
3 |
--------------------------------------------------------------------------------
/tests/blather.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Twangist/prelogging/64fac0f9b13764d1b00431511aae04754a039b89/tests/blather.log
--------------------------------------------------------------------------------
/tests/formatter_presets_badfile.txt:
--------------------------------------------------------------------------------
1 | formatter_name
2 | bad-key-value-line
3 |
--------------------------------------------------------------------------------
/tests/test_formatter_style.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | import sys
4 | sys.path[0:0] = ['../..'] # prepend
5 | from prelogging import LCDict
6 | import logging
7 | from prelogging.six import PY2
8 |
9 | if PY2:
10 | def test_formatter_style():
11 | """
12 | """
13 | pass
14 | else:
15 | def test_formatter_style():
16 | """
17 | >>> lcd = LCDict(attach_handlers_to_root=True)
18 |
19 | >>> # style='%' is the default, & could be omitted
20 | >>> _ = lcd.add_formatter('testform-%',
21 | ... format='%(levelname)s: %(name)s: %(message)s',
22 | ... style='%')
23 | >>> _ = lcd.add_formatter('testform-{',
24 | ... format='{levelname}: {name}: {message}',
25 | ... style='{')
26 | >>> _ = lcd.add_formatter('testform-$',
27 | ... format='$levelname: $name: $message',
28 | ... style='$')
29 |
30 | >>> _ = lcd.add_stdout_handler('con-%', formatter='testform-%')
31 | >>> _ = lcd.add_stdout_handler('con-{', formatter='testform-{')
32 | >>> _ = lcd.add_stdout_handler('con-$', formatter='testform-$')
33 | >>> _ = lcd.config()
34 |
35 | >>> root = logging.getLogger()
36 | >>> root.warning('Hi there')
37 | WARNING: root: Hi there
38 | WARNING: root: Hi there
39 | WARNING: root: Hi there
40 | """
41 | pass
42 |
43 |
44 | ##############################################################################
45 |
46 | import doctest
47 |
48 | # For unittest integration
49 | def load_tests(loader, tests, ignore):
50 | tests.addTests(doctest.DocTestSuite())
51 | return tests
52 |
53 | if __name__ == "__main__":
54 | doctest.testmod() # (verbose=True)
55 |
--------------------------------------------------------------------------------
/tests/test_lcdict_builder.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | import logging
4 |
5 | try:
6 | import prelogging
7 | except ImportError:
8 | import sys
9 | sys.path[0:0] = ['../..']
10 | from prelogging import LCDict, LCDictBuilderABC
11 |
12 | ##############################################################################
13 |
14 | from test_lcdict_builders_top import LCDictBuilder
15 | import test_lcdict_builder_SubA
16 | import test_lcdict_builder_SubB
17 |
18 | ##############################################################################
19 | # test(s)
20 | ##############################################################################
21 |
22 | def test_builder():
23 | """
24 | >>> LOG_PATH = '_testlogs/builder'
25 | >>> lcd = LCDictBuilder.build_lcdict(
26 | ... root_level='WARNING',
27 | ... log_path=LOG_PATH,
28 | ... locking=False,
29 | ... attach_handlers_to_root=False)
30 | >>> lcd.config()
31 |
32 | Now log some messages
33 |
34 | >>> root = logging.getLogger()
35 | >>> loggerA = logging.getLogger('subA')
36 | >>> loggerB = logging.getLogger('subB')
37 |
38 | >>> root.debug( "0.")
39 | >>> root.info( "1.")
40 | >>> root.warning( "2.")
41 | root : WARNING : 2.
42 | >>> root.error( "3.")
43 | root : ERROR : 3.
44 | >>> root.critical("4.")
45 | root : CRITICAL: 4.
46 |
47 | >>> loggerA.debug( "10.")
48 | >>> loggerA.info( "11.")
49 | >>> loggerA.warning( "12.")
50 | >>> loggerA.error( "13.")
51 | subA : ERROR : 13.
52 | >>> loggerA.critical("14.")
53 | subA : CRITICAL: 14.
54 |
55 | >>> loggerB.debug( "20.")
56 | >>> loggerB.info( "21.")
57 | >>> loggerB.warning( "22.")
58 | >>> loggerB.error( "23.")
59 | >>> loggerB.critical("24.")
60 |
61 | Check logfile contents
62 |
63 | >>> import os
64 | >>> with open(os.path.join(LOG_PATH, 'subA.log')) as f:
65 | ... text_A = f.read()
66 | >>> text_A == ("subA : ERROR : 13.\\n"
67 | ... "subA : CRITICAL: 14.\\n")
68 | True
69 |
70 | >>> with open(os.path.join(LOG_PATH, 'subB.log')) as f:
71 | ... text_B = f.read()
72 | >>> text_B == ("subB : DEBUG : 20.\\n"
73 | ... "subB : INFO : 21.\\n"
74 | ... "subB : WARNING : 22.\\n"
75 | ... "subB : ERROR : 23.\\n"
76 | ... "subB : CRITICAL: 24.\\n")
77 | True
78 | """
79 | pass
80 |
81 |
82 | ##############################################################################
83 |
84 | import doctest
85 |
86 | # For unittest integration
87 | def load_tests(loader, tests, ignore):
88 | tests.addTests(doctest.DocTestSuite())
89 | return tests
90 |
91 | if __name__ == "__main__":
92 |
93 | doctest.testmod() # (verbose=True)
94 |
--------------------------------------------------------------------------------
/tests/test_lcdict_builder_SubA.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | from test_lcdict_builders_top import LCDBuilderSub
4 |
5 |
6 | class LCDBuilderSubA(LCDBuilderSub):
7 | @classmethod
8 | def add_to_lcdict(cls, lcd):
9 | """(Virtual) Call ``LCDict`` methods to augment ``lcd``.
10 |
11 | :param lcd: an ``LCDict``
12 | """
13 | # Set up a logger 'subA' and a file handler it exclusively uses.
14 | # Assume the code that uses this module is well-debugged and stable,
15 | # so we an set logger's level = ``ERROR``.
16 | #
17 | # Messages logged by logger 'subA' will be written
18 | # to logfile 'subA.log', and
19 | # to root logger (propagate=True).
20 | # Root logger will NOT log to 'subA.log' (attach_to_root=False)
21 | lcd.add_file_handler('subA-fh',
22 | filename='subA.log',
23 | mode='w',
24 | formatter='logger_level_msg',
25 | attach_to_root=False)
26 | lcd.add_logger('subA',
27 | handlers='subA-fh',
28 | level='ERROR',
29 | propagate=True)
30 |
--------------------------------------------------------------------------------
/tests/test_lcdict_builder_SubB.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | from test_lcdict_builders_top import LCDBuilderSub
4 |
5 | class LCDBuilderSubB(LCDBuilderSub):
6 | @classmethod
7 | def add_to_lcdict(cls, lcd):
8 | """(Virtual) Call ``LCDict`` methods to augment ``lcd``.
9 |
10 | :param lcd: an ``LCDict``
11 | """
12 | # Configure so that messages logged by logger 'subB'
13 | # will be written to logfile 'subB.log', and
14 | # will NOT also be written by root logger's handlers (propagate=False)
15 | # Root logger will NOT log to 'subB.log' (attach_to_root=False)
16 | # Assume the code that uses this logger is in development,
17 | # so we'll set level to ``DEBUG``.
18 | lcd.add_file_handler('subB-fh',
19 | filename='subB.log',
20 | mode='w',
21 | formatter='logger_level_msg',
22 | attach_to_root=False)
23 | lcd.add_logger('subB',
24 | handlers='subB-fh',
25 | level='DEBUG',
26 | propagate=False)
27 |
28 |
--------------------------------------------------------------------------------
/tests/test_lcdict_builders_top.py:
--------------------------------------------------------------------------------
1 | __author__ = 'brianoneill'
2 |
3 | try:
4 | import prelogging
5 | except ImportError:
6 | import sys
7 | sys.path[0:0] = ['../..']
8 |
9 | from prelogging import LCDictBuilderABC
10 |
11 |
12 | ##############################################################################
13 | # LCDictBuilderABC subclasses
14 | ##############################################################################
15 |
16 | class LCDictBuilder(LCDictBuilderABC):
17 | @classmethod
18 | def add_to_lcdict(cls, lcd):
19 | """(Virtual) Call ``LCDict`` methods to augment ``lcd``.
20 |
21 | :param lcd: an ``LCDict``
22 | """
23 | lcd.add_stdout_handler('con-out',
24 | formatter='logger_level_msg',
25 | attach_to_root=True)
26 |
27 | class LCDBuilderSub(LCDictBuilder):
28 | """An LCDBuilder class to organize a group of subclasses,
29 | perhaps to share data (class attributes).
30 | This class does **not** implement ``add_to_lcd``,
31 | which therefore will **not** be called on it
32 | (as that would call ``LCDBuilder.add_to_lcd`` a second time).
33 | """
34 | pass
35 |
--------------------------------------------------------------------------------