py.lib

Yohn Y. 2022-07-17 Parent:b8fc22566efd Child:4186c3b229fa

30:fe4a96d06243 Browse Files

. Используем в логах monotonic вместо time

log/slog_console.py log/slog_syslogger.py log/tiny_slog.py

     1.1 --- a/log/slog_console.py	Sun Jul 17 22:21:37 2022 +0300
     1.2 +++ b/log/slog_console.py	Sun Jul 17 22:26:31 2022 +0300
     1.3 @@ -9,7 +9,7 @@
     1.4    "#": Alert
     1.5  """
     1.6  
     1.7 -from time import time
     1.8 +from time import monotonic
     1.9  from datetime import timedelta
    1.10  from sys import exc_info, stderr, stdout
    1.11  from traceback import extract_tb, extract_stack
    1.12 @@ -21,23 +21,23 @@
    1.13              self.prefix = ''
    1.14          else:
    1.15              self.prefix = '%s :: ' % name
    1.16 -        self.tsAll = time()
    1.17 +        self.tsAll = monotonic()
    1.18          self.ts = self.tsAll
    1.19      
    1.20      def getTime(self):
    1.21 -        return time() - self.ts
    1.22 +        return monotonic() - self.ts
    1.23      
    1.24      def reset(self):
    1.25 -        self.ts = time()
    1.26 +        self.ts = monotonic()
    1.27          self.tsAll = self.ts
    1.28      
    1.29      def __str__(self):
    1.30 -        ts = time()
    1.31 +        ts = monotonic()
    1.32          return self.prefix + '%s(%.4f)' % (timedelta(seconds=(ts - self.tsAll)), ts - self.ts)
    1.33      
    1.34      def __call__(self, msg):
    1.35          _buf = '%s | %s' % (self, msg)
    1.36 -        self.ts = time()
    1.37 +        self.ts = monotonic()
    1.38          return _buf
    1.39  
    1.40  
     2.1 --- a/log/slog_syslogger.py	Sun Jul 17 22:21:37 2022 +0300
     2.2 +++ b/log/slog_syslogger.py	Sun Jul 17 22:26:31 2022 +0300
     2.3 @@ -13,7 +13,7 @@
     2.4  
     2.5  import syslog
     2.6  from sys import exc_info
     2.7 -from time import time
     2.8 +from time import monotonic
     2.9  from traceback import extract_tb, extract_stack
    2.10  from datetime import timedelta
    2.11  from typing import Any
    2.12 @@ -69,23 +69,23 @@
    2.13              self.prefix = ''
    2.14          else:
    2.15              self.prefix = f'{name} :: '
    2.16 -        self.tsAll = time()
    2.17 +        self.tsAll = monotonic()
    2.18          self.ts = self.tsAll
    2.19  
    2.20      def get_time(self):
    2.21 -        return time() - self.ts
    2.22 +        return monotonic() - self.ts
    2.23  
    2.24      def reset(self):
    2.25 -        self.ts = time()
    2.26 +        self.ts = monotonic()
    2.27          self.tsAll = self.ts
    2.28  
    2.29      def __str__(self):
    2.30 -        ts = time()
    2.31 +        ts = monotonic()
    2.32          return self.prefix + '%s(%.4f)' % (timedelta(seconds=(ts - self.tsAll)), ts - self.ts)
    2.33  
    2.34      def __call__(self, msg: Any) -> str:
    2.35          _buf = f'{self} | {msg}'
    2.36 -        self.ts = time()
    2.37 +        self.ts = monotonic()
    2.38          return _buf
    2.39  
    2.40  
     3.1 --- a/log/tiny_slog.py	Sun Jul 17 22:21:37 2022 +0300
     3.2 +++ b/log/tiny_slog.py	Sun Jul 17 22:26:31 2022 +0300
     3.3 @@ -10,7 +10,7 @@
     3.4    "#": Alert
     3.5  
     3.6  """
     3.7 -from time import time
     3.8 +from time import monotonic
     3.9  from datetime import timedelta
    3.10  
    3.11  import syslog
    3.12 @@ -24,23 +24,23 @@
    3.13              self.prefix = ''
    3.14          else:
    3.15              self.prefix = '%s :: ' % name
    3.16 -        self.tsAll = time()
    3.17 +        self.tsAll = monotonic()
    3.18          self.ts = self.tsAll
    3.19  
    3.20      def getTime(self):
    3.21 -        return time() - self.ts
    3.22 +        return monotonic() - self.ts
    3.23  
    3.24      def reset(self):
    3.25 -        self.ts = time()
    3.26 +        self.ts = monotonic()
    3.27          self.tsAll = self.ts
    3.28  
    3.29      def __str__(self):
    3.30 -        ts = time()
    3.31 +        ts = monotonic()
    3.32          return self.prefix + '%s(%.4f)' % (timedelta(seconds=(ts - self.tsAll)), ts - self.ts)
    3.33  
    3.34      def __call__(self, msg):
    3.35          _buf = '%s | %s' % (self, msg)
    3.36 -        self.ts = time()
    3.37 +        self.ts = monotonic()
    3.38          return _buf
    3.39  
    3.40