Browse Source

Allow user to switch off colored logging

New config setting [LOGGING]color=true/false,
by default true; if false logging to terminal
has no coloring.
master
AdamISZ 7 years ago
parent
commit
0ce939264d
No known key found for this signature in database
GPG Key ID: 141001A1AF77F20B
  1. 2
      jmbase/jmbase/__init__.py
  2. 8
      jmbase/jmbase/support.py
  3. 12
      jmclient/jmclient/configure.py

2
jmbase/jmbase/__init__.py

@ -4,6 +4,6 @@ from builtins import *
from .support import (get_log, chunks, debug_silence, jmprint,
joinmarket_alert, core_alert, get_password,
set_logging_level)
set_logging_level, set_logging_color)
from .commands import *

8
jmbase/jmbase/support.py

@ -9,7 +9,7 @@ from chromalog.log import (
ColorizingStreamHandler,
ColorizingFormatter,
)
from chromalog.colorizer import GenericColorizer
from chromalog.colorizer import GenericColorizer, MonochromaticColorizer
from colorama import Fore, Back, Style
# magic; importing e.g. 'info' actually instantiates
@ -102,6 +102,12 @@ def get_log():
def set_logging_level(level):
handler.setLevel(level)
def set_logging_color(colored=False):
if colored:
handler.colorizer = jm_colorizer
else:
handler.colorizer = MonochromaticColorizer()
def chunks(d, n):
return [d[x:x + n] for x in range(0, len(d), n)]

12
jmclient/jmclient/configure.py

@ -12,7 +12,7 @@ from configparser import ConfigParser, NoOptionError
import jmbitcoin as btc
from jmclient.jsonrpc import JsonRpc
from jmbase.support import (get_log, joinmarket_alert, core_alert, debug_silence,
set_logging_level, jmprint)
set_logging_level, jmprint, set_logging_color)
from jmclient.podle import set_commitment_file
log = get_log()
@ -166,6 +166,9 @@ socks5_port = 9050
# Log level for the files in the logs-folder will always be DEBUG
console_log_level = INFO
# Use color-coded log messages to help distinguish log levels?:
color = true
[TIMEOUT]
maker_timeout_sec = 60
unconfirm_timeout_sec = 180
@ -439,6 +442,13 @@ def load_program_config(config_path=None, bs=None):
except:
jmprint("Failed to set logging level, must be DEBUG, INFO, WARNING, ERROR",
"error")
# Logs to the console are color-coded if user chooses (file is unaffected)
if global_singleton.config.get("LOGGING", "color") == "true":
set_logging_color(True)
else:
set_logging_color(False)
try:
global_singleton.maker_timeout_sec = global_singleton.config.getint(
'TIMEOUT', 'maker_timeout_sec')

Loading…
Cancel
Save