From dee93e5c62d8e871e6e2b0c91a319d0bfd052569 Mon Sep 17 00:00:00 2001 From: Salvatore Ingala <6681844+bigspider@users.noreply.github.com> Date: Wed, 9 Oct 2019 10:20:39 +0700 Subject: [PATCH] Moved StructuredMessage and Logger to separate file; refactored pisa-cli logging using new format --- apps/cli/__init__.py | 2 +- apps/cli/blob.py | 13 ++++++++----- pisa/__init__.py | 29 ----------------------------- pisa/api.py | 3 ++- pisa/block_processor.py | 3 ++- pisa/carrier.py | 3 ++- pisa/cleaner.py | 2 +- pisa/encrypted_blob.py | 2 +- pisa/inspector.py | 3 ++- pisa/pisad.py | 3 ++- pisa/responder.py | 2 +- pisa/tools.py | 3 ++- pisa/utils/zmq_subscriber.py | 2 +- pisa/watcher.py | 2 +- 14 files changed, 26 insertions(+), 46 deletions(-) diff --git a/apps/cli/__init__.py b/apps/cli/__init__.py index 40e495c..20bb9fb 100644 --- a/apps/cli/__init__.py +++ b/apps/cli/__init__.py @@ -12,7 +12,7 @@ SUPPORTED_HASH_FUNCTIONS = ["SHA256"] SUPPORTED_CIPHERS = ["AES-GCM-128"] # Configure logging -logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO, handlers=[ +logging.basicConfig(format='%(message)s', level=logging.INFO, handlers=[ logging.FileHandler(CLIENT_LOG_FILE), logging.StreamHandler() ]) diff --git a/apps/cli/blob.py b/apps/cli/blob.py index 6041050..204ccd7 100644 --- a/apps/cli/blob.py +++ b/apps/cli/blob.py @@ -5,6 +5,9 @@ from cryptography.hazmat.primitives.ciphers.aead import AESGCM from apps.cli import logging from apps.cli import SUPPORTED_HASH_FUNCTIONS, SUPPORTED_CIPHERS +from pisa.logger import Logger + +logger = Logger("Client") class Blob: @@ -50,10 +53,10 @@ class Blob: encrypted_blob = aesgcm.encrypt(nonce=nonce, data=tx, associated_data=None) encrypted_blob = hexlify(encrypted_blob).decode() - logging.info("[Client] creating new blob") - logging.info("[Client] master key: {}".format(hexlify(master_key).decode())) - logging.info("[Client] sk: {}".format(hexlify(sk).decode())) - logging.info("[Client] nonce: {}".format(hexlify(nonce).decode())) - logging.info("[Client] encrypted_blob: {}".format(encrypted_blob)) + logger.info("creating new blob", + master_key=hexlify(master_key).decode(), + sk=hexlify(sk).decode(), + nonce=hexlify(nonce).decode(), + encrypted_blob=encrypted_blob) return encrypted_blob diff --git a/pisa/__init__.py b/pisa/__init__.py index 2dcde22..5d03345 100644 --- a/pisa/__init__.py +++ b/pisa/__init__.py @@ -1,6 +1,4 @@ import logging -import json -import time from pisa.utils.auth_proxy import AuthServiceProxy import pisa.conf as conf @@ -8,33 +6,6 @@ import pisa.conf as conf HOST = 'localhost' PORT = 9814 - -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)) - # Configure logging logging.basicConfig(format='%(message)s', level=logging.INFO, handlers=[ logging.FileHandler(conf.SERVER_LOG_FILE), diff --git a/pisa/api.py b/pisa/api.py index 301dfa5..1ab768d 100644 --- a/pisa/api.py +++ b/pisa/api.py @@ -1,7 +1,8 @@ import json from flask import Flask, request, Response, abort, jsonify -from pisa import HOST, PORT, logging, bitcoin_cli, Logger +from pisa import HOST, PORT, logging, bitcoin_cli +from pisa.logger import Logger from pisa.watcher import Watcher from pisa.inspector import Inspector from pisa import HOST, PORT, logging diff --git a/pisa/block_processor.py b/pisa/block_processor.py index 7c544ea..c139f86 100644 --- a/pisa/block_processor.py +++ b/pisa/block_processor.py @@ -1,7 +1,8 @@ import binascii from hashlib import sha256 -from pisa import bitcoin_cli, Logger +from pisa import bitcoin_cli +from pisa.logger import Logger from pisa.utils.auth_proxy import JSONRPCException logger = Logger("BlockProcessor") diff --git a/pisa/carrier.py b/pisa/carrier.py index a82fb3f..3e11028 100644 --- a/pisa/carrier.py +++ b/pisa/carrier.py @@ -1,5 +1,6 @@ from pisa.rpc_errors import * -from pisa import bitcoin_cli, Logger +from pisa import bitcoin_cli +from pisa.logger import Logger from pisa.utils.auth_proxy import JSONRPCException from pisa.errors import UNKNOWN_JSON_RPC_EXCEPTION diff --git a/pisa/cleaner.py b/pisa/cleaner.py index 39af1d5..0dad0da 100644 --- a/pisa/cleaner.py +++ b/pisa/cleaner.py @@ -1,4 +1,4 @@ -from pisa import Logger +from pisa.logger import Logger logger = Logger("Cleaner") diff --git a/pisa/encrypted_blob.py b/pisa/encrypted_blob.py index a772241..d9a02ba 100644 --- a/pisa/encrypted_blob.py +++ b/pisa/encrypted_blob.py @@ -1,7 +1,7 @@ from hashlib import sha256 from binascii import unhexlify, hexlify from cryptography.hazmat.primitives.ciphers.aead import AESGCM -from pisa import Logger +from pisa.logger import Logger logger = Logger("Watcher") diff --git a/pisa/inspector.py b/pisa/inspector.py index ecbf688..53055b8 100644 --- a/pisa/inspector.py +++ b/pisa/inspector.py @@ -2,7 +2,8 @@ import re from pisa import errors import pisa.conf as conf -from pisa import bitcoin_cli, Logger +from pisa import bitcoin_cli +from pisa.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 305f156..c990a2e 100644 --- a/pisa/pisad.py +++ b/pisa/pisad.py @@ -1,7 +1,8 @@ from sys import argv from getopt import getopt -from pisa import logging, Logger +from pisa import logging +from pisa.logger import Logger from pisa.api import start_api from pisa.tools import can_connect_to_bitcoind, in_correct_network diff --git a/pisa/responder.py b/pisa/responder.py index 6855e5c..9b2b1f8 100644 --- a/pisa/responder.py +++ b/pisa/responder.py @@ -3,7 +3,7 @@ from threading import Thread from hashlib import sha256 from binascii import unhexlify -from pisa import Logger +from pisa.logger import Logger from pisa.cleaner import Cleaner from pisa.carrier import Carrier from pisa.tools import check_tx_in_chain diff --git a/pisa/tools.py b/pisa/tools.py index 6e24716..ddc4ab5 100644 --- a/pisa/tools.py +++ b/pisa/tools.py @@ -2,7 +2,8 @@ import re from http.client import HTTPException import pisa.conf as conf -from pisa import bitcoin_cli, Logger +from pisa import bitcoin_cli +from pisa.logger import Logger from pisa.utils.auth_proxy import JSONRPCException from pisa.rpc_errors import RPC_INVALID_ADDRESS_OR_KEY diff --git a/pisa/utils/zmq_subscriber.py b/pisa/utils/zmq_subscriber.py index ded5922..f0ac469 100644 --- a/pisa/utils/zmq_subscriber.py +++ b/pisa/utils/zmq_subscriber.py @@ -1,6 +1,6 @@ import zmq import binascii -from pisa import Logger +from pisa.logger import Logger from pisa.conf import FEED_PROTOCOL, FEED_ADDR, FEED_PORT diff --git a/pisa/watcher.py b/pisa/watcher.py index 4184e58..6ec6d30 100644 --- a/pisa/watcher.py +++ b/pisa/watcher.py @@ -2,7 +2,7 @@ from uuid import uuid4 from queue import Queue from threading import Thread -from pisa import Logger +from pisa.logger import Logger from pisa.cleaner import Cleaner from pisa.conf import EXPIRY_DELTA from pisa.responder import Responder