Giter Club home page Giter Club logo

concurrent-log-handler's People

Contributors

buddly27 avatar eriktews avatar frogcoder avatar greenfrog82 avatar krogsager avatar mariusvniekerk avatar preston-landers avatar stumpylog avatar terencehonles avatar tzongw avatar zhuyujin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

concurrent-log-handler's Issues

ConcurrentTimedRotatingFileHandler deprecated delay warning

When the ConcurrentTimedRotatingFileHandler is used without specifying the delay parameter, the following warning is shown:

DeprecationWarning: concurrent_log_handler parameter delay is now ignored and implied as True, please remove from your config.

This seems to be due to the default value of False, while it is None for ConcurrentRotatingFileHandler.

I'm guessing either the default value should change, or this check should be (None, False):

if delay not in (None, True):
    warnings.warn(
        "concurrent_log_handler parameter `delay` is now ignored and implied as True, "
        "please remove from your config.",
        DeprecationWarning,
        stacklevel=3,
    )

Tests fail with Python 3.8

When building the package for this project on openSUSE/Tumbleweed, everything works perfectly with Python 3.6, but the test fails with Python 3.8:

[    3s] + export PYTHONPATH=/home/abuild/rpmbuild/BUILDROOT/python-concurrentloghandler-0.9.19-0.x86_64/usr/lib/python3.6/site-packages
[    3s] + PYTHONPATH=/home/abuild/rpmbuild/BUILDROOT/python-concurrentloghandler-0.9.19-0.x86_64/usr/lib/python3.6/site-packages
[    3s] + rm -rf test
[    3s] + python3.6 stresstest.py
[  226s] Waiting while children are out running and playing!
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22299, 22300, 22301]
[  226s] Waiting on [22300, 22301]
[  226s] Waiting on [22300, 22301]
[  226s] Waiting on [22301]
[  226s] All children have stopped.
[  226s] Writing out combined client logs...
[  226s] done.
[  226s] Writing out combined shared logs...
[  226s] done.
[  226s] Running internal diff:  (If the next line is 'end of diff', then the stress test passed!)
[  226s]    --- end of diff ----
[  227s] ++ '[' -f _current_flavor ']'
[  227s] ++ cat _current_flavor
[  227s] + last_flavor=python36
[  227s] + '[' -z python36 ']'
[  227s] + '[' python36 '!=' python38 ']'
[  227s] + '[' -d build ']'
[  227s] + mv build _build.python36
[  227s] + '[' -d _build.python38 ']'
[  227s] + mv _build.python38 build
[  227s] + echo python38
[  227s] + python_flavor=python38
[  227s] + export PYTHONPATH=/home/abuild/rpmbuild/BUILDROOT/python-concurrentloghandler-0.9.19-0.x86_64/usr/lib/python3.8/site-packages
[  227s] + PYTHONPATH=/home/abuild/rpmbuild/BUILDROOT/python-concurrentloghandler-0.9.19-0.x86_64/usr/lib/python3.8/site-packages
[  227s] + rm -rf test
[  227s] + python3.8 stresstest.py
[  237s] One or more of the child process has failed.
[  237s] Aborting test.
[  237s] Waiting while children are out running and playing!
[  237s] All children have stopped.
[  237s] None
[  237s] None
[  237s] cp exit code: <__main__.TestManager.ChildProc object at 0x7f22c0c7fb40>: 1

Complete build log with all building steps and versions of all packages used.

Installation issue on Windows for python 3.8 when no internet access is given

`\python38\lib\site-packages\pip_vendor\requests\utils.py", line 74, in proxy_bypass_registry

proxyOverride = proxyOverride.split(';')

AttributeError: 'list' object has no attribute 'split'`

I found out that the installer is missing a warning that checks prior if portalocker and pywin32 228 is installed. When i have installed these, it works fine to install current_log_handler.
The error arrised because i have no internet connection where i needed this, on my normal workstation i realized that the other 2 wheels got downloaded automatically from the internet and needed to be installed before the current log handler can be installed.

ImportError: No module named win32con

I was just trying to use this on AppVeyor with Python 2.7 but its fails with this:

Traceback (most recent call last):
  File "c:\projects\python-language-server\.tox\py27\lib\site-packages\_pytest\config.py", line 365, in _importconftest
    mod = conftestpath.pyimport()
  File "c:\projects\python-language-server\.tox\py27\lib\site-packages\py\_path\local.py", line 668, in pyimport
    __import__(modname)
  File "c:\projects\python-language-server\.tox\py27\lib\site-packages\_pytest\assertion\rewrite.py", line 213, in load_module
    py.builtin.exec_(co, mod.__dict__)
  File "c:\projects\python-language-server\.tox\py27\lib\site-packages\py\_builtin.py", line 221, in exec_
    exec2(obj, globals, locals)
  File "<string>", line 7, in exec2
  File "C:\projects\python-language-server\test\conftest.py", line 4, in <module>
    from pyls.__main__ import LOG_FORMAT
  File "C:\projects\python-language-server\pyls\__main__.py", line 8, in <module>
    from concurrent_log_handler import ConcurrentRotatingFileHandler
  File "c:\projects\python-language-server\.tox\py27\lib\site-packages\concurrent_log_handler\__init__.py", line 61, in <module>
    from concurrent_log_handler.portalocker import lock, unlock, LOCK_EX, LOCK_NB, LockException
  File "c:\projects\python-language-server\.tox\py27\lib\site-packages\concurrent_log_handler\portalocker.py", line 89, in <module>
    import win32con
ImportError: No module named win32con
ERROR: could not load C:\projects\python-language-server\test\conftest.py
  1. palantir/python-language-server#254
  2. https://ci.appveyor.com/project/gatesn/python-language-server/build/1.0.375/job/ln3alujea5t1e329

Installation broken

When attempting to run:

pip install concurrentloghandler

The following errors are thrown:

ERROR: Command errored out with exit status 1:
     command: /home/bm-developer/.pyenv/versions/3.6.8/envs/bm-glu-venv/bin/python3.6 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-g2rhood0/concurrentloghandler_0637ed04cfea435eb5bf81583eef2fb8/setup.py'"'"'; __file__='"'"'/tmp/pip-install-g2rhood0/concurrentloghandler_0637ed04cfea435eb5bf81583eef2fb8/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-pcpgar_n
         cwd: /tmp/pip-install-g2rhood0/concurrentloghandler_0637ed04cfea435eb5bf81583eef2fb8/
    Complete output (1 lines):
    error in ConcurrentLogHandler setup command: use_2to3 is invalid.

for every single version as the installer attempts to install from latest backwards.

this results in the final error:

ERROR: Could not find a version that satisfies the requirement concurrentloghandler (from versions: 0.7.2, 0.7.3, 0.7.4, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.9.0, 0.9.1)
ERROR: No matching distribution found for concurrentloghandler

ConcurrentTimedRotatingFileHandler rotating gzip files fails

in init.py line 842 in doRollover()

if self.backupCount > 0:
for s in self.getFilesToDelete():
os.remove(s + gzip_ext)

s is the full filename /path/mylog.log.2023-11-15.1.gz

doing s + gzip_ext makes it /path/mylog.log.2023-11-15.1.gz.gz and throws an error, causing it rotate logs but never delete and never update the .__mylog.log.lock` file so you'll end up with a new file every time a log message is added

Recommended Fix

Change the above to

            for file in self.getFilesToDelete():
                os.remove(file)

Screen shots of debugger

image
image

To replicate issue

use a log config like this

        "concurrent_timed_log_handler": {
            "level": "INFO",
            'class': 'concurrent_log_handler.ConcurrentTimedRotatingFileHandler',
            'when': 'midnight',
            'interval': 1,  
            'backupCount': 2, 
            "use_gzip": True,
            "maxBytes": _bytes_5mb,
            "formatter": "standard_formatter",
            "filename": os.path.join(LOG_DIR, "mylog.log"),
        },

In your log dir, create some log files that are over 2 days old, ex: mylog.log.2023-01-01.1.gz
update the .__mylog.lock to an old timestamp like 1672531200
Then try logging, it should roll over with every log made

when log file rotate, raise exception

[uWSGIWorker1Core0 31324 Fri Oct 27 14:01:32 2023] Unable to do rollover: 'ConcurrentRotatingFileHandler' object has no attribute 'rotation_filename':
File "/usr/lib/python2.7/site-packages/web/application.py", line 279, in wsgi
result = self.handle_with_processors()
File "/usr/lib/python2.7/site-packages/web/application.py", line 249, in handle_with_processors
return process(self.processors)
File "/usr/lib/python2.7/site-packages/web/application.py", line 237, in process
return p(lambda: process(processors))
File "/usr/lib/python2.7/site-packages/web/application.py", line 566, in processor
return handler()
File "/usr/lib/python2.7/site-packages/web/application.py", line 237, in
return p(lambda: process(processors))
File "/usr/lib/python2.7/site-packages/web/application.py", line 237, in process
return p(lambda: process(processors))
File "/usr/lib/python2.7/site-packages/web/application.py", line 581, in processor
result = handler()
File "/usr/lib/python2.7/site-packages/web/application.py", line 237, in
return p(lambda: process(processors))
File "/usr/lib/python2.7/site-packages/web/application.py", line 239, in process
return self.handle()
File "/usr/lib/python2.7/site-packages/web/application.py", line 230, in handle
return self._delegate(fn, self.fvars, args)
File "/usr/lib/python2.7/site-packages/web/application.py", line 420, in _delegate
return handle_class(cls)
File "/usr/lib/python2.7/site-packages/web/application.py", line 396, in handle_class
return tocall(*args)
File "/var/www/apps/duole/webpy-duole.py", line 294, in GET
g_log_test.info("invalid url:" + path + ",ip:" + web.ctx.ip)
File "/usr/lib64/python2.7/logging/init.py", line 1149, in info
self._log(INFO, msg, args, **kwargs)
File "/usr/lib64/python2.7/logging/init.py", line 1268, in _log
self.handle(record)
File "/usr/lib64/python2.7/logging/init.py", line 1278, in handle
self.callHandlers(record)
File "/usr/lib64/python2.7/logging/init.py", line 1318, in callHandlers
hdlr.handle(record)
File "/usr/lib64/python2.7/logging/init.py", line 749, in handle
self.emit(record)
File "/usr/lib/python2.7/site-packages/concurrent_log_handler/init.py", line 387, in emit
self._console_log("Unable to do rollover: %s" % (e,), stack=True)
File "/usr/lib/python2.7/site-packages/concurrent_log_handler/init.py", line 356, in _console_log
stack_str = ":\n" + "".join(traceback.format_stack())

my conf file
[loggers]
keys=root,requestlog

[handlers]
keys=consoleHandler,requestlogHandler

[formatters]
keys=simpleFormatter

[formatter_simpleFormatter]
format=[%(asctime)s]%(lineno)d : %(message)s

[logger_root]
level=DEBUG
handlers=consoleHandler

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[logger_requestlog]
level=DEBUG
handlers=consoleHandler,requestlogHandler
qualname=requestlog
propagate=0

[handler_requestlogHandler]
class=concurrent_log_handler.ConcurrentRotatingFileHandler
level=DEBUG
formatter=simpleFormatter
args=('log/aaa.log', 'a', 3000, 9, None, True)

I find rotation_filename not support in Python 2.7, I remove this call and fix the bug.

Additional parameter for alternative lock file directory

Hi,
not an Issue, more a proposal. Would it be possible to add an additional parameter, to determine the target directory for the lock files?

In our current setup, we use Gunicorn for our Django websites. Since Gunicorn spawns multiple workers, we are in the exact situation to use this fine piece of software you guys offering here.

Now the special case: I want to dockerize the whole applicatin chain. NGINX, Gunicorn, Django, Databases...
The problem now, is that I want to share the logs, within a docker compose system. Therefore, I have to create a volume with the logging directory.

Problem now, since the lock files live directly next to the logging files, the locks get shared as well. This, by it self is not really a problem. BUT it slows the whole process down. Since it needs time, for Docker to copy these files into each other volume to prevent the state from inconsistencies.

And here the proposal: Lets move the lock files away from the logging files, that we can now share these files and don't suffer from the Docker latency penalties.

Thank you

Does not build with Python 3.11

  parsed = self.parsers.get(option_name, lambda x: x)(value)
/usr/lib/python3.11/site-packages/setuptools/dist.py:954: DistDeprecationWarning: use_2to3 is ignored.
  ep.load()(self, ep.name, value)
error in concurrent-log-handler setup command: use_2to3 is invalid.

Removing use_2to3 in setup.py fixes it.

Broken and blank lines produced in logging with multiprocessing example

Hi, I'm unable to get any logging written to either file nor console when using multiprocessing Pool or Process .start()/.join().
Can anyone provide an example?
My logs work fine when running multiple threads. I did call setup_logging_queues() but I'm not sure where to place it.

Working:

from src.concurrent_logger import log
import threading
import time

def thread_function(thread_id):
    log.info(f"Thread {thread_id} started")
    time.sleep(0.01)  # Simulating some work
    log.info(f"Thread {thread_id} finished")

if __name__ == "__main__":
    threads = []
    for i in range(1, 100):
        thread = threading.Thread(target=thread_function, args=(i,))
        threads.append(thread)
        thread.start()

    # Wait for all threads to finish
    for thread in threads:
        thread.join()

Not working:

from src.concurrent_logger import log
import multiprocessing
import time

def thread_function(thread_id):
    log.info(f"Thread {thread_id} started")
    time.sleep(0.01)  # Simulating some work
    log.info(f"Thread {thread_id} finished")


if __name__ == "__main__":
    processes = []
    for i in range(1, 11):
        process = multiprocessing.Process(target=thread_function, args=(i,))
        processes.append(process)
        process.start()

    # Wait for all processes to finish
    for process in processes:
        process.join()

I placed concurrent_log_handler.queue.setup_logging_queues() in the log setup. It produces a seemingly random number (between 3 and 10 maybe) of log lines saying

13-07-2023 11:30:25.620 -[proactor_events.py:633] - DEBUG - Using proactor: IocpProactor

If I don't call setup_logging_queues() at all, then no output is produced.

Removal of ez_setup

Perhaps its time to just make this a regular setuptools/pip buildable thing without relying on vendoring ez_setup?

ConcurrentTimedRotatingFileHandler appends numbers instead of just increment

counter = 0
while os.path.exists(dfn + gzip_ext):
counter += 1
ending = f".{counter - 1}{gzip_ext}"
if dfn.endswith(ending):
dfn = dfn[: -len(ending)]
dfn = f"{dfn}.{counter}"

I think this not the logic you intended for it to be, it appends a new number to the file name making it grow in length. the ConcurrentRotatingFileHandler seems do work as expected, but the ConcurrentTimedRotatingFileHandler does not

Example

mylog.log
mylog.log.2023-11-28_16.1.2.3.4.5.6.7.8.9.10.gz
mylog.log.2023-11-28_16.1.2.3.4.5.6.7.8.9.gz
mylog.log.2023-11-28_16.1.2.3.4.5.6.7.8.gz
mylog.log.2023-11-28_16.1.2.3.4.5.6.7.gz
mylog.log.2023-11-28_16.1.2.3.4.5.6.gz
mylog.log.2023-11-28_16.1.2.3.4.5.gz
mylog.log.2023-11-28_16.1.2.3.4.gz
mylog.log.2023-11-28_16.1.2.3.gz
mylog.log.2023-11-28_16.1.2.gz
mylog.log.2023-11-28_16.1.gz
mylog.log.2023-11-28_16.gz

If you update it to something like this

counter = 1
if os.path.exists(dfn + gzip_ext):
    while os.path.exists(f'{dfn}.{counter}{gzip_ext}'):
        ending = f".{counter - 1}{gzip_ext}"
        if dfn.endswith(ending):
            dfn = dfn[: -len(ending)]
        counter += 1
    dfn = f"{dfn}.{counter}"

Then it will output increment the last digit only

Example:

mylog.log
mylog.log.2023-11-28_16.gz
mylog.log.2023-11-28_16.1.gz
mylog.log.2023-11-28_16.2.gz
mylog.log.2023-11-28_16.3.gz
mylog.log.2023-11-28_16.4.gz
mylog.log.2023-11-28_16.5.gz
mylog.log.2023-11-28_16.6.gz
mylog.log.2023-11-28_16.7.gz
mylog.log.2023-11-28_16.8.gz
mylog.log.2023-11-28_16.9.gz
mylog.log.2023-11-28_16.10.gz

parameter owner in windows raise error

init.py line 237

        if owner and os.chown and pwd and grp:
            # noinspection PyUnresolvedReferences
            self._set_uid = pwd.getpwnam(self.owner[0]).pw_uid
            # noinspection PyUnresolvedReferences
            self._set_gid = grp.getgrnam(self.owner[1]).gr_gid

wndows system there has't os.chown, run this code raise error.
line 73

try:
    import pwd
    import grp
except ImportError:
    pwd = grp = None

windows cannot import pwd and grp , so pwd = grp = None
so init.py line 237 change pwd and grp before os.chown ,ignore os.chown

        if owner and pwd and grp and os.chown:
            # noinspection PyUnresolvedReferences
            self._set_uid = pwd.getpwnam(self.owner[0]).pw_uid
            # noinspection PyUnresolvedReferences
            self._set_gid = grp.getgrnam(self.owner[1]).gr_gid

Memory leak about windows[ 内存泄漏 ]

I have a flask program using concurrent-log-handler in cmd like this:

1649654296(1)

and Everything seems normal Logs are also generated normally
1649654755(1)
But after a period of time, I found that the memory explorer.exe is very large:
1649654990(1)

Some codes are as follows:
1649655185(1)
1649655224(1)
my computer is :windows server 2019 amd64 python amd 64 pywin32 228 concurrent-log-handler 0.9.20

use Process Explorer find like this:
1649655792(1)
If I do not print the flash log to memory, it is normal
1649656058(1)
I searched for a long time and didn't know how to block the Werkzeug log until I tried the following code:
logging.getLogger("werkzeug").setLevel(logging.ERROR)

When adding this code, he will not print any information explorer.exe memory has not grown for a long time
I can also end explorer.exe restarts when it grows intolerable,But I still want to configure concurrent-log-handler
Please tell me how to set it up or it's a bug and How does flash mask all logs,thanks google translate.

Version support?

My django and python versions are very old and I wonder if the value can be supported? django==1.11.1 python=3.6.9

using globally from a single module

Is there a preferred way to globally implement your example code from within a single .py file/module, and import it into the other modules of a larger sized project? Other than the .ini file?
EDIT: Nevermind I ended up sticking with the .ini file. Runs nicely thanks

ConcurrentRotatingFileHandler chmod will fail across many users

Suppose I have a script which can by run by many users, which uses ConcurrentRotatingFileHandler to the same log file. You've provide "chmod" to allow us to set permissions to ensure it is made writable by both users, but there are 2 problems:

  1. Even if the file is made writable, "chmod" is not allowed by another process (on linux at least?). So if root creates the file and the script chmods it to open up the permissions, then if some other user runs the script, their "chmod" with throw an exception.
  2. A small race condition on file creation, where there log is created and then afterward the permissions are changed.

py27 TypeError: write() argument 1 must be unicode, not str

Looks like the default terminator of '\n' isn't happy being written to an io stream due to the default encoding. A work around is to set terminator to u'\n'. Is there a better fix for this though?

__init__.py, line 337, in do_write
    stream.write(self.terminator)
TypeError: write() argument 1 must be unicode, not str

How to play nicely with synced folders? (Google Drive for example)

I have Google Drive (on mirror mode) syncing the log files for my project, however it gets stuck on trying to sync the .__XXX.lock file forever, which balloons the CPU and RAM usage to close to 100% forever on my Windows 10 PC. Is there anything I can do to prevent this?

ConcurrentTimedRotatingFileHandler Deletes wrong files

The behavior changed after the last updated, using python 3.9.15

Previously backupCount: 5 would keep 5 days worth of logs

if today is 2023-12-19 the logs would look like

mylog.log
mylog.log.2023-12-18.gz
mylog.log.2023-12-18.1.gz
mylog.log.2023-12-18.2.gz
mylog.log.2023-12-17.gz
mylog.log.2023-12-17.1.gz
mylog.log.2023-12-17.2.gz
mylog.log.2023-12-16.gz
mylog.log.2023-12-16.1.gz
mylog.log.2023-12-16.2.gz
mylog.log.2023-12-15.gz
mylog.log.2023-12-15.1.gz
mylog.log.2023-12-15.2.gz
mylog.log.2023-12-14.gz
mylog.log.2023-12-14.1.gz
mylog.log.2023-12-14.2.gz
mylog.log.2023-12-13.gz
mylog.log.2023-12-13.1.gz
mylog.log.2023-12-13.2.gz

Now it is only keeping 5 backups, and i'm guessing its based on last modified date so we end up with something like this, where we only have 5 backups and mylog.log.2023-12-17.1.gz was deleted because of the order it was renamed i guess

mylog.log
mylog.log.2023-12-18.gz
mylog.log.2023-12-18.1.gz
mylog.log.2023-12-18.2.gz
mylog.log.2023-12-17.gz
mylog.log.2023-12-17.2.gz

i haven't dug into this too much, just pointing it out.

When to call setup_logging_queues()

You stated: 'at some point in your app where it sets up logging' - Where or when exactly do I have to call it to make it work properly?

This iy my CustomLogger class which I instantiate in every new process anew, while passing a Queue to it, where I want it to log in.

class CustomLogger:
    __slots__ = ['name', 'log_queue', '_logger', 'no_gui']

    def __init__(self, name: str, queue: not None, create_output_file=False, output_folder=None, root_log_level: str = "info", no_gui=False, dev=False):
        if output_folder is None:
            output_folder = Path(__file__).parents[2]
        self.name = name
        self.log_queue = queue
        self.no_gui = no_gui
        dt_fmt = '%Y-%m-%d %H:%M:%S'

        if dev:
            clrd_fmt = f'%(log_color)s%(asctime)s.%(msecs)03d | %(levelname)-8s | {self.name}:%(funcName)s:%(lineno)s - %(message)s'
            non_clrd_fmt = f'%(asctime)s.%(msecs)03d | %(levelname)-8s | {self.name}:%(funcName)s:%(lineno)s - %(message)s'
        else:
            clrd_fmt = f'%(log_color)s%(asctime)s.%(msecs)03d | %(levelname)-8s | {self.name} - %(message)s'
            non_clrd_fmt = f'%(asctime)s.%(msecs)03d | %(levelname)-8s | {self.name} - %(message)s'

        if self.no_gui:
            import colorlog

            clrd_stream_handler = colorlog.StreamHandler()
            colored_formatter = colorlog.ColoredFormatter(
                clrd_fmt,
                datefmt=dt_fmt,
                reset=True,
                log_colors={
                    'DEBUG': 'fg_bold_cyan',
                    'INFO': 'fg_light_white',
                    'WARNING': 'fg_bold_yellow',
                    'ERROR': 'fg_bold_red',
                    'CRITICAL': 'fg_bold_purple',
                    'SUCCESS': 'fg_bold_green',
                    'HTTP_DEBUG': 'fg_light_white'
                },
                secondary_log_colors={},
                style='%'
            )
            clrd_stream_handler.setFormatter(colored_formatter)
            self._logger = colorlog.getLogger(name=self.name)
            self._logger.addHandler(clrd_stream_handler)
        else:
            self._logger = getLogger(name=self.name)
            non_clrd_stream_handler = StreamHandler()
            non_colored_formatter = Formatter(fmt=non_clrd_fmt, datefmt=dt_fmt)
            non_clrd_stream_handler.setFormatter(non_colored_formatter)
            self._logger.addHandler(non_clrd_stream_handler)

        self._logger.setLevel(self._set_root_log_level(root_log_level))
        queue_handler = QueueHandler(queue)
        self._logger.addHandler(queue_handler)

        if create_output_file and output_folder:

            _output_folder = Path(output_folder) / "logs"
            if not _output_folder.is_dir():
                _output_folder.mkdir(exist_ok=True)
            timestamp = datetime.now().strftime("%m-%d-%Y-%H")
            logfile = str((_output_folder / f"debug_{timestamp}.log").resolve())
            rotating_file_handler = ConcurrentRotatingFileHandler(logfile, "a", encoding='utf-8', maxBytes=5 * 1024 * 1024, backupCount=10)
            file_formatter = Formatter(fmt=f'%(asctime)s.%(msecs)03d | %(levelname)-8s - %(message)s', datefmt=dt_fmt)
            rotating_file_handler.setFormatter(file_formatter)
            self._logger.addHandler(rotating_file_handler)
        setup_logging_queues()  # <------ Call it here?

Is it correct to call it here? Wouldnt it create a new background Thread every time I instantiate the CustomLogger then? Do note I use multiple different queues I attach to logger.

PyPI package consolidation

I'm the (unresponsive) author of the ConcurrentLogHandler. I see that you have a package named concurrent-log-handler and just continued the version numbers from where I left off. Thanks for that. I switched jobs several times since first writing this code base and no longer need it or even have an easy way to test it anymore. But I'm glad to see that others have found a use for it; thanks for stepping up. My apologies for my unresponsiveness.

I've updated the LauchPad project page (https://launchpad.net/python-concurrent-log-handler) to link to your github repo in both the description and via an "announcment". (Still wish there was a way to make it a bit more obvious, but I think it's adequate.) Unfortunately, I don't think I can update anything on the ConcurrentLogHandler package page to tell others to use the new package.

Ultimately, it would be nice if there's a way to make the one package alias to the other. (So that anyone does a "pip install" of either package name would get the latest version.)

Looks like my only option would be to submit a new package that updates the description text, but that seems silly. Are you aware of any other options?

BTW, I've made you a maintainer of ConcurrentLogHandler (but glad to upgrade that to owner, if you want to take it over.) Pushing the same code to both package I suppose would be an option, but not sure what's the most ideal. I'm not a PyPi expert so perhaps there's mechanisms that would help out here that I'm unaware of. Open to suggestions.

how can i use timed and size raotating filehandler?

def log_file_namer(logger_name: str) -> str:
    # path/name.log.N
    print('logger_name:',logger_name)
    logger_name, backup_number = logger_name.rsplit(".", maxsplit=1)
    # path/name.log
    logger_name = logger_name.replace(".log", "")
    # curr_date = date.today().strftime("%Y_%m_%d")  # noqa: DTZ011
    curr_date = time.strftime("%Y_%m_%d_%H_%M_%S")  # noqa: DTZ011

    return f"{logger_name}_{curr_date}_({backup_number}).log"


def my_program():
    import concurrent_log_handler

    # Now for the meat of your program...
    logger = logging.getLogger("MyExample")
    logger.setLevel(logging.DEBUG)  # optional to set this level here

    handler = concurrent_log_handler.ConcurrentRotatingFileHandler(
        "/pythonlogs/logger_name_testc.log", "a", maxBytes=512000, backupCount=6
    )
    handler.namer = log_file_namer
    logger.addHandler(handler)

    for idx in range(0, 500):
        time.sleep(0.1)
        print("Loop %d; logging a message." % idx)
        logger.debug("%d > A debug message.", idx)
        if idx % 2 == 0:
            logger.info("%d > An info message.", idx)
    print("Done with example; exiting.")


if __name__ == "__main__":
    my_program()

i means that ,

when file size should raotate file, then rotate;

when time should raotate file ,but file size is not large enough,also ratate file.

i have test handler namer function, i found that when time should taote but file size is not enough,it can not rotate file.

i means that every day should has at least one file, ignore file size whether or not reach the maxBytes.

how can i do?

ConcurrentTimedRotatingFileHandler backupCount do not delete historical files

The configuration is as follows:

logger: Logger = logging.getLogger(name)
logger.addFilter(ContextFilter())
logger.setLevel(logging.INFO)

# handler
handler = ConcurrentTimedRotatingFileHandler(filename=filename, encoding="utf-8", when="MIDNIGHT", interval=1, backupCount=7)
handler.suffix = "%Y-%m-%d.log"
handler.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}.log$")
# requestId 需要添加 ContextFilter
handler.setFormatter(logging.Formatter("%(asctime)s %(levelname)6s %(lineno)4d %(requestId)s --- [%(funcName)s] : %(message)s"))
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)

Question on .__lock file

Hi,

Sorry to put this as an issue, but I've been struggling to get TimedRotatingFileHandler working on Windows and your package appears to be the best solution I can find.

I'm using this handler for logging in a Flask web application, which is running in a gevent WSGI container. Quitting the application is just by a "ctrl-c" or if it's a Task Scheduler task there is just the "end task" option.

In either method, I have a file .__flask.lock left after the application is stopped.

Do I need to find a way to delete this file, or is it safe to leave it there?

Thank you!

Crashes with ValueError: I/O operation on closed file

Hi there,

I have been using Concurrent log handler for few of my projects. One of them started to crash recently. Currently i tried the latest available version 0.9.12 without luck. Here is backtrace:

Traceback (most recent call last):
File "/usr/lib/python3.6/logging/init.py", line 996, in emit
stream.write(msg)
ValueError: I/O operation on closed file.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/core/handlers/base.py", line 124, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/contrib/admin/options.py", line 607, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/utils/decorators.py", line 142, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/contrib/admin/sites.py", line 223, in inner
return view(request, *args, **kwargs)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1650, in change_view
return self.changeform_view(request, object_id, form_url, extra_context)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/utils/decorators.py", line 45, in _wrapper
return bound_method(*args, **kwargs)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/utils/decorators.py", line 142, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1536, in changeform_view
return self._changeform_view(request, object_id, form_url, extra_context)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1575, in _changeform_view
self.save_model(request, new_object, form, not add)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1094, in save_model
obj.save()
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/db/models/base.py", line 717, in save
force_update=force_update, update_fields=update_fields)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/db/models/base.py", line 757, in save_base
update_fields=update_fields, raw=raw, using=using,
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/dispatch/dispatcher.py", line 175, in send
for receiver in self._live_receivers(sender)
File "/home/dismine/www/project/env/lib/python3.6/site-packages/django/dispatch/dispatcher.py", line 175, in
for receiver in self._live_receivers(sender)
File "/home/dismine/www/project/apps/backbone/signals.py", line 13, in update_orders
logger.debug("Update orders signal")
File "/usr/lib/python3.6/logging/init.py", line 1296, in debug
self._log(DEBUG, msg, args, **kwargs)
File "/usr/lib/python3.6/logging/init.py", line 1444, in _log
self.handle(record)
File "/usr/lib/python3.6/logging/init.py", line 1454, in handle
self.callHandlers(record)
File "/usr/lib/python3.6/logging/init.py", line 1516, in callHandlers
hdlr.handle(record)
File "/usr/lib/python3.6/logging/init.py", line 865, in handle
self.emit(record)
File "/usr/lib/python3.6/logging/init.py", line 1000, in emit
self.handleError(record)
File "/usr/lib/python3.6/logging/init.py", line 917, in handleError
sys.stderr.write('--- Logging error ---\n')
ValueError: I/O operation on closed file.

I tried to understand what is wrong. It seems that something changed since 0.9.7. This is the last version that works for me. When i run command python manage.py runserver i get a lot of messages Unhandled exception in thread started by. As you can see this message is not very informative because no backtrace or name of function. Also log is empty. Normally i must see in console a lot debug messages, but not with the version above 0.9.7. The website kind of working. But when i try to save something it crashes with above log errors.

Place "/home/dismine/www/project/apps/backbone/signals.py" looks like this:

@receiver(post_save, sender=Customer)
def update_orders(sender, instance, **kwargs):
    logger = logging.getLogger(__name__)
    logger.debug("Update orders signal")
    if os.name != 'nt':
        restore_orders.apply_async((instance.pk, instance.measurements.pk), timeout=settings.RESTORING_ORDERS)

For now i will return to 0.9.7. If you need more info please tell me.

TypeError: cannot serialize '_io.TextIOWrapper' object

I got TypeError when using ConcurrentRotatingFileHandler:

My log module:

import logging
import os

from concurrent_log_handler import ConcurrentRotatingFileHandler


def _logging(log_name, log_level=logging.INFO, log_path='../data/logs/'):
    line_format = '[%(levelname)7s] [%(asctime)s] [%(processName)s] [%(threadName)s] ' \
                  '[%(filename)s:%(lineno)s]: %(message)s'
    log_format = logging.Formatter(line_format)

    logger = logging.getLogger(log_name)
    logger.setLevel(log_level)

    cmd = logging.StreamHandler()
    cmd.setFormatter(log_format)
    logger.addHandler(cmd)

    os.makedirs(log_path, exist_ok=True)
    log_path = f'{log_path}{log_name}.log'
    handler = ConcurrentRotatingFileHandler(filename=log_path, maxBytes=1024 * 1024, backupCount=50, encoding='utf-8')
    handler.setFormatter(log_format)
    logger.addHandler(handler)
    return logger


LOG = _logging('common')

my testcase:

import unittest

class LoggerTestCase(unittest.TestCase):

    def process_log(self):
        LOG.info('A process log')

    def test_process_logger(self):
        import multiprocessing

        LOG.info('start test process LOG')
        process = multiprocessing.Process(target=self.process_log)
        process.start()
        LOG.info("Done")

How can I fix it?

Member "Terminator" doesn't exist

There is no member terminator.
init.py:294

    if self.terminator:
        stream.write(self.terminator)

A terminator string can be implemented with a formatter.

Does not catch unlock err


def _do_unlock(self):
    if self.stream_lock:
        if self.is_locked:
            unlock(self.stream_lock)
            self.is_locked = False
        self.stream_lock.close()
        self.stream_lock = None
    else:
        self._console_log("No self.stream_lock to unlock", stack=True)

this function does not catch err in unlock of portalocker.

This issue is found by @bdss58.

AttributeError: 'NoneType' object has no attribute 'write'

This logger keeps setting self.stream = None causing the next logging statement to fail:

Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: None, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
--- Logging error ---
Traceback (most recent call last):
File "F:\Python\lib\logging\__init__.py", line 995, in emit
stream.write(msg)
AttributeError: 'NoneType' object has no attribute 'write'

The file is already 250% above the maximum rotation of 50MB, but cannot be rolled because it is opened on the log viewer.

There is not problem in not rotating because the file is above the maximum rotation size, if the file is locked. The file can keep growing until it is unlocked by other other applications. However, it never should to set the stream logger to None, making the logging fail randomly with AttributeError: 'NoneType' object has no attribute 'write'.

I added these lines for debugging:

File: Data/Packages/ConcurrentLogHandler/all/concurrent_log_handler/__init__.py
234: 
235:     def _close(self):
236:         """ Close file stream.  Unlike close(), we don't tear anything down, we
237:         expect the log to be re-opened after rotation."""
238:         if self.stream:
239:             try:
240:                 if not self.stream.closed:
241:                     # Flushing probably isn't technically necessary, but it feels right
242:                     self.stream.flush()
243:                     self.stream.close()
244:             finally:
245:                 sys.stderr.write( "Setting self.stream = None: %s\n" % self.stream )
246:                 self.stream = None

File: F:/Python/Lib/logging/__init__.py
979: 
980:     def emit(self, record):
981:         """
982:         Emit a record.
983: 
984:         If a formatter is specified, it is used to format the record.
985:         The record is then written to the stream with a trailing newline.  If
986:         exception information is present, it is formatted using
987:         traceback.print_exception and appended to the stream.  If the stream
988:         has an 'encoding' attribute, it is used to determine how to do the
989:         output to the stream.
990:         """
991:         try:
992:             msg = self.format(record)
993:             sys.stderr.write( "self.stream on StreamHandler: %s\n" % self.stream )
994:             stream = self.stream
995:             stream.write(msg)
996:             stream.write(self.terminator)

Full log:

[pyls] 16:12:55:0730762 Logging to the file F:\SublimeText\debug2.txt
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: None, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
--- Logging error ---
Traceback (most recent call last):
File "F:\Python\lib\logging\__init__.py", line 995, in emit
stream.write(msg)
AttributeError: 'NoneType' object has no attribute 'write'
Call stack:
File "F:\Python\Scripts\pyls-script.py", line 11, in <module>
load_entry_point('python-language-server', 'console_scripts', 'pyls')()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\__main__.py", line 54, in main
start_io_lang_server(stdin, stdout, PythonLanguageServer)
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 62, in start_io_lang_server
server.start()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 88, in start
self.rpc_manager.start()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\rpc_manager.py", line 46, in start
self.consume_requests()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\rpc_manager.py", line 106, in consume_requests
self._handle_request(message)
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\rpc_manager.py", line 123, in _handle_request
maybe_handler = self._message_handler(request.method, request.params if request.params is not None else {})
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 106, in handle_request
return getattr(self, method_call)(**params)
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 167, in m_initialize
self._dispatchers = self._hook('pyls_dispatchers')
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 128, in _hook
log.debug("PythonLanguageServer, self.config: %s", self.config)
File "F:\Python\lib\logging\__init__.py", line 1297, in debug
self._log(DEBUG, msg, args, **kwargs)
File "F:\SublimeText\Data\Packages\DebugTools\all\debug_tools\logger.py", line 574, in _log
super()._log( level, msg, args, exc_info, extra, stack_info )
Message: 'PythonLanguageServer, self.config: %s'
Arguments: (<pyls.config.config.Config object at 0x00000201F5902A20>,)
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: None, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
--- Logging error ---
Traceback (most recent call last):
File "F:\Python\lib\logging\__init__.py", line 995, in emit
stream.write(msg)
AttributeError: 'NoneType' object has no attribute 'write'
Call stack:
File "F:\Python\Scripts\pyls-script.py", line 11, in <module>
load_entry_point('python-language-server', 'console_scripts', 'pyls')()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\__main__.py", line 54, in main
start_io_lang_server(stdin, stdout, PythonLanguageServer)
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 62, in start_io_lang_server
server.start()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 88, in start
self.rpc_manager.start()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\rpc_manager.py", line 46, in start
self.consume_requests()
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\rpc_manager.py", line 106, in consume_requests
self._handle_request(message)
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\rpc_manager.py", line 123, in _handle_request
maybe_handler = self._message_handler(request.method, request.params if request.params is not None else {})
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 106, in handle_request
return getattr(self, method_call)(**params)
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 168, in m_initialize
self._hook('pyls_initialize')
File "d:\user\dropbox\softwareversioning\python-language-server\pyls\python_ls.py", line 128, in _hook
log.debug("PythonLanguageServer, self.config: %s", self.config)
File "F:\Python\lib\logging\__init__.py", line 1297, in debug
self._log(DEBUG, msg, args, **kwargs)
File "F:\SublimeText\Data\Packages\DebugTools\all\debug_tools\logger.py", line 574, in _log
super()._log( level, msg, args, exc_info, extra, stack_info )
Message: 'PythonLanguageServer, self.config: %s'
Arguments: (<pyls.config.config.Config object at 0x00000201F5902A20>,)
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
self.stream on StreamHandler: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>, sys.stderr: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>
Setting self.stream = None: <_io.TextIOWrapper name='F:\\SublimeText\\debug2.txt' mode='a' encoding='cp1252'>


Wheel is not really universal

The following condition is not properly transmitted into the wheel:

try:
    IS_PY2 = sys.version_info.major == 2
except Exception:
    IS_PY2 = True

if IS_PY2:
    # https://github.com/Preston-Landers/concurrent-log-handler/issues/28
    # If Python 2, don't allow fulfillment with portalocker 2.0 as it won't work
    install_requires = ['portalocker<=1.7.1']
else:
    install_requires = ['portalocker>=1.4.0']

Therefore, if the wheel is creating with Python 3.8, the installation will require 'portalocker>=1.4.0', even if the targeted Python version in 2.7. Using conditional dependency as defined in PEP-508 will make the wheel truly universal:

install_requires = [
    'portalocker<=1.7.1; python_version < "3"',
    'portalocker>=1.4.0; python_version >= "3"',
]

The wheel currently uploaded to PyPi is not working on 2.7 for this reason:
https://pypi.org/project/concurrent-log-handler/#files

the performance is very very bad on windows platform

1、concurrent-log-handler performance test code is

import logging
import time

import concurrent_log_handler

logger = logging.getLogger("MyExample")
logger.setLevel(logging.DEBUG)  # optional to set this level here

handler = concurrent_log_handler.ConcurrentTimedRotatingFileHandler(
    filename="/pythonlogs/logger_fj.log", mode="a", maxBytes=1000 * 1000 * 100, backupCount=6,when='d',
)
# handler.namer = log_file_namer
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)

print(time.strftime('%Y_%m_%d %H:%M:%S'))
for i in range(10000):
    logger.info(f'abcdefgfgbfgddhfgdhjfgjfghkjhkggj {i}')
print(time.strftime('%Y_%m_%d %H:%M:%S'))

nb_log rely concurrent-log-handler, because concurrent-log-handler is multiprocess safe rotate file handler,but the performance is very very bad.

write 10,000 log,the test code cost 2 minutes ,on windwos it is too slow.

image

it cost 8 seconds to write 100,000 log on linux,linux is faster than win.
but only write 1,2500 evey seconds on linux ,it is also bad performance on linux.

2、logging.FileHandler performence

handler = logging.FileHandler(
    filename="/pythonlogs/logger_fj.log", mode="a",
)

logger.addHandler(handler)
logger.setLevel(logging.DEBUG)

print(time.strftime('%Y_%m_%d %H:%M:%S'))
for i in range(100000):
    logger.info(f'abcdefgfgbfgddhfgdhjfgjfghkjhkggj {i}')
print(time.strftime('%Y_%m_%d %H:%M:%S'))

logging.FileHandler only cost 1 secoinds to write 100,000 msg.

3、 i kown to ensure multi-process safe for roate file ,will expense python performence and the file lock waste system performence,
but can you prove concurrent-log-handler a little?

i hope to ensure multi-process safe for roate file, write 10,000 msg one second on win,30000 msg one second on linux ,could you improve the performance?

4、Can you consider batch writing every 0.1 seconds for improve the performance?

Crashes on Python 3.5.3 64bit on Windows 10

Hello,

Not sure why was that idea to hard copy the portalocker module inside of the distributive?!

What I have:
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)] on win32
concurrent_log_handler Version: 0.9.8 (just instaled)

Created a test file from your example on the home page: test.py.
Started it, got Windows dialog: Python has stopped working.
Debugger shows some problem with code calling msvcr100.dll!_get_osfhandle(int fh)

Did: pip install -U portalocker
Changed in Lib\site-packages\concurrent_log_handler_init_.py:
#from concurrent_log_handler.portalocker import LOCK_EX, LOCK_NB, LockException, lock, unlock
from portalocker import LOCK_EX, LOCK_NB, LockException, lock, unlock

Started test.py again. It worked fine.

I will do more tests and let you know if anything else failing.

Time based rotation

As far as I can tell there is no way to configure the rotation by time like TimedRotatingFileHandler, will it be hard to add another handler that will rotate like TimedRotatingFileHandler but with the locking mechanism?

Please do not allow installation with portalocker==2.0.0 (for maximum Python2.7 compatibility)

Python 2.7 is now end-of-life, but some of us support old linux distros which do not have a workable Python3. In some instances, we cannot easily upgrade these systems.

Please consider changing your setup.py install_requires to install_requires = ['portalocker<=1.7.1,>=1.4.0']

Doing so prevents breaking those environments that are still stuck with Python2.7.

portalocker==2.0.0 fails in Python 2.7

(py27_u18) mpennington@Mpennington-X1:~$ pip freeze | grep -E "portalocker|concurrent"
concurrent-log-handler==0.9.16
portalocker==2.0.0
(py27_u18) mpennington@Mpennington-X1:~$ python -V
Python 2.7.17
(py27_u18) mpennington@Mpennington-X1:~$ python
Python 2.7.17 (default, Jul 20 2020, 15:37:01)
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import concurrent_log_handler
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mpennington/venv/py27_u18/local/lib/python2.7/site-packages/concurrent_log_handler/__init__.py", line 69, in <module>
    from portalocker import LOCK_EX, lock, unlock
  File "/home/mpennington/venv/py27_u18/local/lib/python2.7/site-packages/portalocker/__init__.py", line 5, in <module>
    from . import utils
  File "/home/mpennington/venv/py27_u18/local/lib/python2.7/site-packages/portalocker/utils.py", line 290
    def __init__(self, maximum: int, name: str = 'bounded_semaphore',
                              ^
SyntaxError: invalid syntax
>>> quit()
(py27_u18) mpennington@Mpennington-X1:~$

portalocker==1.7.1 works with Python 2.7

(py27_u18) mpennington@Mpennington-X1:~$ pip install portalocker==1.7.1
Collecting portalocker==1.7.1
  Using cached portalocker-1.7.1-py2.py3-none-any.whl (10 kB)
Installing collected packages: portalocker
  Attempting uninstall: portalocker
    Found existing installation: portalocker 2.0.0
    Uninstalling portalocker-2.0.0:
      Successfully uninstalled portalocker-2.0.0
Successfully installed portalocker-1.7.1
(py27_u18) mpennington@Mpennington-X1:~$ python
Python 2.7.17 (default, Jul 20 2020, 15:37:01)
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import concurrent_log_handler
>>> quit()

On Windows, logs with encoding are written with Unix ends-of-line (LF instead of CRLF)

If I specify an encoding, the log file is opened in binary mode, which on Windows causes it to be written with Unix-style line endings.
I may be missing something, but I can't figure out why the file is being opened via codecs.open instead of the simple open. The pull request I opened fixes this by simply always using open. I can't think of why it wasn't done like this in the first place.

Preserve existing owners and permissions

I recently merged #5 which allows setting the file owner and permissions (mode) for the rollover file on Linux. However it seems like it should have an option to do this automatically without having to specify the owner and permissions, similar to cp -p .

I'm not sure how feasible it would be to add a Windows equivalent to #5 given the nature of specifying Windows security attributes, but preserving the existing attributes should be an easier task.

TypeError: can't pickle _thread.RLock objects

Your module works perfectly fine on macos, but I can't get it to work on Windows. The source is identical.

I am on python 3.6.8 and concurrent-log-handler 0.9.16

In essence, what I'm doing is I am defining a logger on top level and use it in a class method executed with concurrent_futures.ProcessPoolExecutor:

class Foo():
   ...
   def func(self):
       logger.info("logthis")
def get_logger(loggerFilename)
        logger = logging.getLogger()
        rotateHandler = ConcurrentRotatingFileHandler(loggerFilename, "a", 512*1024, 100)
	# format of the log
	formatter = logging.Formatter("%(asctime)s %(process)d %(funcName)16s %(levelname)8s %(message)s")
	rotateHandler.setFormatter(formatter)
	logger.addHandler(rotateHandler)
	# mode of the log
       logger.setLevel(logging.INFO)
       return logger
if __name__ == "__main__":
        loggerFilename = "/path/to/log"
        logger = get_logger(loggerFilename)
        c1 = Foo()
        c2 = Foo()

         with ProcessPoolExecutor(max_workers=6) as executor:
		executor.submit(c1.func)
		executor.submit(c2.func)

Return with error pickling error: TypeError: can't pickle _thread.RLock objects.

Any help would be appreciated.

TypeError: '<=' not supported between instances of 'str' and 'int'

Using concurrentLogHandler v. 0.9.1 in python 3.6 (on Centos 7) I get the follow exception:

--- Logging error --- Traceback (most recent call last): File "/usr/lib64/python3.6/logging/handlers.py", line 72, in emit self.doRollover() File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/cloghandler.py", line 261, in doRollover if self.backupCount <= 0: TypeError: '<=' not supported between instances of 'str' and 'int' Call stack: File "manage.py", line 25, in <module> execute_from_command_line(sys.argv) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line utility.execute() File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute output = self.handle(*args, **options) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/commands/shell.py", line 108, in handle return getattr(self, shell)(options) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/commands/shell.py", line 83, in python code.interact(local=imported_objects) File "/usr/lib64/python3.6/code.py", line 302, in interact console.interact(banner, exitmsg) File "/usr/lib64/python3.6/code.py", line 233, in interact more = self.push(line) File "/usr/lib64/python3.6/code.py", line 259, in push more = self.runsource(source, self.filename) File "/usr/lib64/python3.6/code.py", line 75, in runsource self.runcode(code) File "/usr/lib64/python3.6/code.py", line 91, in runcode exec(code, self.locals) File "<console>", line 1, in <module> File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 226, in __repr__ data = list(self[:REPR_OUTPUT_SIZE + 1]) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 250, in __iter__ self._fetch_all() File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 1118, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 53, in __iter__ results = compiler.execute_sql(chunked_fetch=self.chunked_fetch) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 889, in execute_sql cursor.execute(sql, params) File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/backends/utils.py", line 90, in execute extra={'duration': duration, 'sql': sql, 'params': params} Message: '(%.3f) %s; args=%s'

Debugging the project I've found the problem is in doRollover method (cloghandler.py) at the statement:
if self.backupCount <= 0:

I think the solution could be:
if int(self.backupCount) <= 0:


System details
OS: Centos 7
Python: 3.6
Library version: 0.9.1
Django: 1.11


Steps to reproduce the exception
In settings.py configure backupCount parameter as int:
'backupCount': 30,

AS showed in the attached screenshot, even if the backupCount parameter is setted as integer at the BaseRotatingHandler class, on the emit method, the parameter self.backupCount is readed as str.
exception

Windows - PermissionError: [Errno 13] Permission denied

Hi

When testing out this example in windows:

from logging import getLogger, INFO
from concurrent_log_handler import ConcurrentRotatingFileHandler
import os

log = getLogger(__name__)
# Use an absolute path to prevent file rotation trouble.
logfile = os.path.abspath("mylogfile.log")
# Rotate log after reaching 512K, keep 5 old copies.
rotateHandler = ConcurrentRotatingFileHandler(logfile, "a", 512*1024, 5)
log.addHandler(rotateHandler)
log.setLevel(INFO)

log.info("Here is a very exciting log message, just for you")

It produces this Permission error.

--- Logging error ---
Traceback (most recent call last):
  File "/Users/davig/opt/anaconda3/lib/python3.9/site-packages/concurrent_log_handler/__init__.py", line 327, in emit
    self._do_lock()
  File "/Users/davig/opt/anaconda3/lib/python3.9/site-packages/concurrent_log_handler/__init__.py", line 404, in _do_lock
    self._open_lockfile()
  File "/Users/davig/opt/anaconda3/lib/python3.9/site-packages/concurrent_log_handler/__init__.py", line 249, in _open_lockfile
    self.stream_lock = open(lock_file, "wb", buffering=0)
PermissionError: [Errno 13] Permission denied: '/Volumes/GoogleDrive/My Drive/[All Python Projects]/PYTHON PRACTICE/.__mylogfile.lock'
Call stack:
  File "/Volumes/GoogleDrive/My Drive/[All Python Projects]/PYTHON PRACTICE/LOGGING_/concurrent_log_handler/test.py", line 13, in <module>
    log.info("Here is a very exciting log message, just for you")
  File "/Users/davig/opt/anaconda3/lib/python3.9/logging/__init__.py", line 1446, in info
    self._log(INFO, msg, args, **kwargs)
  File "/Users/davig/opt/anaconda3/lib/python3.9/logging/__init__.py", line 1589, in _log
    self.handle(record)
  File "/Users/davig/opt/anaconda3/lib/python3.9/logging/__init__.py", line 1599, in handle
    self.callHandlers(record)
  File "/Users/davig/opt/anaconda3/lib/python3.9/logging/__init__.py", line 1661, in callHandlers
    hdlr.handle(record)
  File "/Users/davig/opt/anaconda3/lib/python3.9/logging/__init__.py", line 952, in handle
    self.emit(record)
  File "/Users/davig/opt/anaconda3/lib/python3.9/site-packages/concurrent_log_handler/__init__.py", line 343, in emit
    self.handleError(record)
Message: 'Here is a very exciting log message, just for you'
Arguments: ()
(base) davig@Davids-MacBook-Air PYTHON PRACTICE % 

How would I resolve this for running it on windows?

concurrent-log-handler not thread/multiprocess safe

Hi

Unfortunately there is a bug in concurrent-log-handler which corrupts logfiles when multiple processes are writing to it at the same time that were started using for example fork or by creating new threads. Here is a demo script that will illustrate the issue:

#!/usr/bin/env python3

from logging import getLogger, INFO
from concurrent_log_handler import ConcurrentRotatingFileHandler
import os
from multiprocessing import Pool

llength = 10000


def genlog(a):
    log.info(a*llength)


fname = "mylogfile.log"

log = getLogger()
logfile = os.path.abspath(fname)
rotateHandler = ConcurrentRotatingFileHandler(logfile)
log.addHandler(rotateHandler)
log.setLevel(INFO)

with Pool(300) as p:
        p.map(genlog, ["a"]*50000, 1)

log.removeHandler(rotateHandler)
rotateHandler.close()

with open(fname, "r") as f:
    for idx, l in enumerate(f):
        clength = len(l)
        if clength != llength+1:
            print("Problem in line {}: length is {}".format(idx, clength))

Just run it, and it will produce a logfile with some empty lines and some lines with twice the length (tested on Linux) with a very high probability.

The reason for this is that the filehandle for the lockfile is created when the handler is created. Every process that is created thereafter with fork or a similar method will share the same file handle and multiple threads/processes can get the exclusive locks.

From my point of view, the best way to fix this is to create a new file handle somewhere in "emit" or a similar function and close it after the log entry is written.

use_gzip does not compress nor rename on Windows

My current environment:

C:\..>python -V
Python 3.7.0

C:\..>VER

Microsoft Windows [Version 10.0.16299.785]

C:\..>pip list
Package                Version
---------------------- ----------
certifi                2018.10.15
chardet                3.0.4
concurrent-log-handler 0.9.12
cycler                 0.10.0
docopt                 0.6.2
idna                   2.7
kiwisolver             1.0.1
matplotlib             3.0.0
numpy                  1.15.2
pandas                 0.23.4
pip                    18.1
pipreqs                0.4.9
psutil                 5.4.7
pyaml                  17.12.1
pyparsing              2.2.1
pypiwin32              223
python-dateutil        2.7.3
pytz                   2018.5
pywin32                224
PyYAML                 3.13
requests               2.20.0
setuptools             39.0.1
six                    1.11.0
urllib3                1.24
yarg                   0.1.9

>pip -V
pip 18.1 from c:\..\scoop\apps\python\current\lib\site-packages\pip (python 3.7)

Basically I am stumped why the files are not being gzip compressed when rolled over?
And renaming (post fix .gz) never happens either ... but that's probably the same issue.

Rolling over while running with multiprocessing is working just fine, The only thing that is not working ... is gzip compression.

Any ideas or should I just try running is on a Linux instance? :)
Thank you ahead of time.

Goran

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.