Changeset - e1233a04dc2d
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 20 months ago 2023-05-19 21:40:13
drewp@bigasterisk.com
don't fight with pytest logger
1 file changed with 4 insertions and 1 deletions:
0 comments (0 inline, 0 general)
light9/run_local.py
Show inline comments
 
@@ -35,27 +35,30 @@ if 0:
 

	
 
progName = sys.argv[0].split('/')[-1]
 
log = logging.getLogger()  # this has to get the root logger
 
log.name = progName  # but we can rename it for clarity
 

	
 

	
 
def fracTimeLogger():
 
class FractionTimeFilter(logging.Filter):
 

	
 
    def filter(self, record):
 
        record.fractionTime = (
 
            time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(record.created)) +
 
            ("%.3f" % (record.created % 1)).lstrip('0'))
 
        # Don't filter the record.
 
        return 1
 

	
 

	
 
coloredlogs.install(
 
    level='DEBUG',
 
    fmt='%(fractionTime)s %(name)s[%(process)d] %(levelname)s %(message)s')
 
logging.getLogger().handlers[0].addFilter(FractionTimeFilter())
 

	
 
# pytest's log replacement would try to use our fmt with fractionTime but not our handler that supports it. See https://github.com/pytest-dev/pytest/issues/2987
 
if 'pytest' not in sys.modules:
 
    fracTimeLogger()
 

	
 
def setTerminalTitle(s):
 
    if os.environ.get('TERM', '') in ['xterm', 'rxvt', 'rxvt-unicode-256color']:
 
        print("\033]0;%s\007" % s)  # not escaped/protected correctly
 

	
 

	
0 comments (0 inline, 0 general)