diff --git a/apps/cli/__init__.py b/apps/cli/__init__.py index 1ccaf9f..c7c8f1a 100644 --- a/apps/cli/__init__.py +++ b/apps/cli/__init__.py @@ -1,5 +1,4 @@ import logging -from apps.cli.logger import Logger # PISA-SERVER DEFAULT_PISA_API_SERVER = "btc.pisa.watch" @@ -13,9 +12,22 @@ CLI_PUBLIC_KEY = "cli_pk.der" CLI_PRIVATE_KEY = "cli_sk.der" PISA_PUBLIC_KEY = "pisa_pk.der" -# Configure logging -logging.basicConfig( - format="%(message)s", level=logging.INFO, handlers=[logging.FileHandler(CLIENT_LOG_FILE), logging.StreamHandler()] -) +# Create the file logger +f_logger = logging.getLogger("cli_file_log") +f_logger.setLevel(logging.INFO) -logger = Logger("Client") +fh = logging.FileHandler(CLIENT_LOG_FILE) +fh.setLevel(logging.INFO) +fh_formatter = logging.Formatter("%(message)s") +fh.setFormatter(fh_formatter) +f_logger.addHandler(fh) + +# Create the console logger +c_logger = logging.getLogger("cli_console_log") +c_logger.setLevel(logging.INFO) + +ch = logging.StreamHandler() +ch.setLevel(logging.INFO) +ch_formatter = logging.Formatter("%(asctime)s %(message)s", "%Y-%m-%d %H:%M:%S") +ch.setFormatter(ch_formatter) +c_logger.addHandler(ch) diff --git a/apps/cli/blob.py b/apps/cli/blob.py index 0d26a48..d5c7c14 100644 --- a/apps/cli/blob.py +++ b/apps/cli/blob.py @@ -1,9 +1,4 @@ import re -from hashlib import sha256 -from binascii import hexlify, unhexlify -from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305 - -from apps.cli import logger class Blob: diff --git a/apps/cli/logger.py b/apps/cli/logger.py deleted file mode 100644 index 1b3f4d3..0000000 --- a/apps/cli/logger.py +++ /dev/null @@ -1,33 +0,0 @@ -import logging -import json -import time - - -class StructuredMessage(object): - def __init__(self, message, **kwargs): - self.message = message - self.time = time.asctime() - self.kwargs = kwargs - - def __str__(self): - return json.dumps({**self.kwargs, "message": self.message, "time": self.time}) - - -class Logger(object): - def __init__(self, actor=None): - self.actor = actor - - def _add_prefix(self, msg): - return msg if self.actor is None else "[{}] {}".format(self.actor, msg) - - def info(self, msg, **kwargs): - logging.info(StructuredMessage(self._add_prefix(msg), actor=self.actor, **kwargs)) - - def debug(self, msg, **kwargs): - logging.debug(StructuredMessage(self._add_prefix(msg), actor=self.actor, **kwargs)) - - def error(self, msg, **kwargs): - logging.error(StructuredMessage(self._add_prefix(msg), actor=self.actor, **kwargs)) - - def warning(self, msg, **kwargs): - logging.warning(StructuredMessage(self._add_prefix(msg), actor=self.actor, **kwargs)) diff --git a/apps/cli/pisa_cli.py b/apps/cli/pisa_cli.py index 8bd0335..4d45414 100644 --- a/apps/cli/pisa_cli.py +++ b/apps/cli/pisa_cli.py @@ -17,15 +17,16 @@ from apps.cli import ( CLI_PRIVATE_KEY, PISA_PUBLIC_KEY, APPOINTMENTS_FOLDER_NAME, - logger, ) +from common.logger import Logger from common.constants import LOCATOR_LEN_HEX from common.cryptographer import Cryptographer from common.tools import check_sha256_hex_format HTTP_OK = 200 +logger = Logger("Client") # FIXME: TESTING ENDPOINT, WON'T BE THERE IN PRODUCTION diff --git a/common/cryptographer.py b/common/cryptographer.py index 93fc72a..1b2d992 100644 --- a/common/cryptographer.py +++ b/common/cryptographer.py @@ -11,7 +11,7 @@ from cryptography.hazmat.primitives.serialization import load_der_public_key, lo from cryptography.exceptions import InvalidSignature from common.tools import check_sha256_hex_format -from pisa.logger import Logger +from common.logger import Logger logger = Logger("Cryptographer") diff --git a/pisa/logger.py b/common/logger.py similarity index 100% rename from pisa/logger.py rename to common/logger.py diff --git a/pisa/api.py b/pisa/api.py index b2d91db..2659e94 100644 --- a/pisa/api.py +++ b/pisa/api.py @@ -3,7 +3,7 @@ import json from flask import Flask, request, abort, jsonify from pisa import HOST, PORT, logging -from pisa.logger import Logger +from common.logger import Logger from pisa.inspector import Inspector from pisa.appointment import Appointment from pisa.block_processor import BlockProcessor diff --git a/pisa/block_processor.py b/pisa/block_processor.py index e7b93d9..ff59d58 100644 --- a/pisa/block_processor.py +++ b/pisa/block_processor.py @@ -1,4 +1,4 @@ -from pisa.logger import Logger +from common.logger import Logger from pisa.tools import bitcoin_cli from pisa.utils.auth_proxy import JSONRPCException diff --git a/pisa/carrier.py b/pisa/carrier.py index a83f234..73326df 100644 --- a/pisa/carrier.py +++ b/pisa/carrier.py @@ -1,5 +1,5 @@ from pisa.rpc_errors import * -from pisa.logger import Logger +from common.logger import Logger from pisa.tools import bitcoin_cli from pisa.utils.auth_proxy import JSONRPCException from pisa.errors import UNKNOWN_JSON_RPC_EXCEPTION, RPC_TX_REORGED_AFTER_BROADCAST diff --git a/pisa/cleaner.py b/pisa/cleaner.py index c5996ca..f3506e2 100644 --- a/pisa/cleaner.py +++ b/pisa/cleaner.py @@ -1,4 +1,4 @@ -from pisa.logger import Logger +from common.logger import Logger logger = Logger("Cleaner") diff --git a/pisa/db_manager.py b/pisa/db_manager.py index 4d654f4..d9c566c 100644 --- a/pisa/db_manager.py +++ b/pisa/db_manager.py @@ -1,7 +1,7 @@ import json import plyvel -from pisa.logger import Logger +from common.logger import Logger logger = Logger("DBManager") diff --git a/pisa/inspector.py b/pisa/inspector.py index 323928d..4de7fe6 100644 --- a/pisa/inspector.py +++ b/pisa/inspector.py @@ -6,7 +6,7 @@ from common.cryptographer import Cryptographer from pisa import errors import pisa.conf as conf -from pisa.logger import Logger +from common.logger import Logger from pisa.appointment import Appointment from pisa.block_processor import BlockProcessor diff --git a/pisa/pisad.py b/pisa/pisad.py index 0e8160b..ecf9a6f 100644 --- a/pisa/pisad.py +++ b/pisa/pisad.py @@ -3,7 +3,7 @@ from sys import argv, exit from signal import signal, SIGINT, SIGQUIT, SIGTERM from pisa.conf import DB_PATH -from pisa.logger import Logger +from common.logger import Logger from pisa.api import start_api from pisa.watcher import Watcher from pisa.builder import Builder diff --git a/pisa/responder.py b/pisa/responder.py index 6288061..e1f3f1c 100644 --- a/pisa/responder.py +++ b/pisa/responder.py @@ -2,7 +2,7 @@ import json from queue import Queue from threading import Thread -from pisa.logger import Logger +from common.logger import Logger from pisa.cleaner import Cleaner from pisa.carrier import Carrier from pisa.block_processor import BlockProcessor diff --git a/pisa/utils/zmq_subscriber.py b/pisa/utils/zmq_subscriber.py index 95c5996..f513146 100644 --- a/pisa/utils/zmq_subscriber.py +++ b/pisa/utils/zmq_subscriber.py @@ -1,6 +1,6 @@ import zmq import binascii -from pisa.logger import Logger +from common.logger import Logger from pisa.conf import FEED_PROTOCOL, FEED_ADDR, FEED_PORT diff --git a/pisa/watcher.py b/pisa/watcher.py index 25c7db8..19d160d 100644 --- a/pisa/watcher.py +++ b/pisa/watcher.py @@ -5,7 +5,7 @@ from threading import Thread from common.cryptographer import Cryptographer from common.constants import LOCATOR_LEN_HEX -from pisa.logger import Logger +from common.logger import Logger from pisa.cleaner import Cleaner from pisa.responder import Responder from pisa.block_processor import BlockProcessor