Moved StructuredMessage and Logger to separate file; refactored pisa-cli logging using new format

This commit is contained in:
Salvatore Ingala
2019-10-09 10:20:39 +07:00
parent c524319027
commit dee93e5c62
14 changed files with 26 additions and 46 deletions

View File

@@ -12,7 +12,7 @@ SUPPORTED_HASH_FUNCTIONS = ["SHA256"]
SUPPORTED_CIPHERS = ["AES-GCM-128"] SUPPORTED_CIPHERS = ["AES-GCM-128"]
# Configure logging # 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.FileHandler(CLIENT_LOG_FILE),
logging.StreamHandler() logging.StreamHandler()
]) ])

View File

@@ -5,6 +5,9 @@ from cryptography.hazmat.primitives.ciphers.aead import AESGCM
from apps.cli import logging from apps.cli import logging
from apps.cli import SUPPORTED_HASH_FUNCTIONS, SUPPORTED_CIPHERS from apps.cli import SUPPORTED_HASH_FUNCTIONS, SUPPORTED_CIPHERS
from pisa.logger import Logger
logger = Logger("Client")
class Blob: class Blob:
@@ -50,10 +53,10 @@ class Blob:
encrypted_blob = aesgcm.encrypt(nonce=nonce, data=tx, associated_data=None) encrypted_blob = aesgcm.encrypt(nonce=nonce, data=tx, associated_data=None)
encrypted_blob = hexlify(encrypted_blob).decode() encrypted_blob = hexlify(encrypted_blob).decode()
logging.info("[Client] creating new blob") logger.info("creating new blob",
logging.info("[Client] master key: {}".format(hexlify(master_key).decode())) master_key=hexlify(master_key).decode(),
logging.info("[Client] sk: {}".format(hexlify(sk).decode())) sk=hexlify(sk).decode(),
logging.info("[Client] nonce: {}".format(hexlify(nonce).decode())) nonce=hexlify(nonce).decode(),
logging.info("[Client] encrypted_blob: {}".format(encrypted_blob)) encrypted_blob=encrypted_blob)
return encrypted_blob return encrypted_blob

View File

@@ -1,6 +1,4 @@
import logging import logging
import json
import time
from pisa.utils.auth_proxy import AuthServiceProxy from pisa.utils.auth_proxy import AuthServiceProxy
import pisa.conf as conf import pisa.conf as conf
@@ -8,33 +6,6 @@ import pisa.conf as conf
HOST = 'localhost' HOST = 'localhost'
PORT = 9814 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 # Configure logging
logging.basicConfig(format='%(message)s', level=logging.INFO, handlers=[ logging.basicConfig(format='%(message)s', level=logging.INFO, handlers=[
logging.FileHandler(conf.SERVER_LOG_FILE), logging.FileHandler(conf.SERVER_LOG_FILE),

View File

@@ -1,7 +1,8 @@
import json import json
from flask import Flask, request, Response, abort, jsonify 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.watcher import Watcher
from pisa.inspector import Inspector from pisa.inspector import Inspector
from pisa import HOST, PORT, logging from pisa import HOST, PORT, logging

View File

@@ -1,7 +1,8 @@
import binascii import binascii
from hashlib import sha256 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 from pisa.utils.auth_proxy import JSONRPCException
logger = Logger("BlockProcessor") logger = Logger("BlockProcessor")

View File

@@ -1,5 +1,6 @@
from pisa.rpc_errors import * 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.utils.auth_proxy import JSONRPCException
from pisa.errors import UNKNOWN_JSON_RPC_EXCEPTION from pisa.errors import UNKNOWN_JSON_RPC_EXCEPTION

View File

@@ -1,4 +1,4 @@
from pisa import Logger from pisa.logger import Logger
logger = Logger("Cleaner") logger = Logger("Cleaner")

View File

@@ -1,7 +1,7 @@
from hashlib import sha256 from hashlib import sha256
from binascii import unhexlify, hexlify from binascii import unhexlify, hexlify
from cryptography.hazmat.primitives.ciphers.aead import AESGCM from cryptography.hazmat.primitives.ciphers.aead import AESGCM
from pisa import Logger from pisa.logger import Logger
logger = Logger("Watcher") logger = Logger("Watcher")

View File

@@ -2,7 +2,8 @@ import re
from pisa import errors from pisa import errors
import pisa.conf as conf 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.appointment import Appointment
from pisa.block_processor import BlockProcessor from pisa.block_processor import BlockProcessor

View File

@@ -1,7 +1,8 @@
from sys import argv from sys import argv
from getopt import getopt 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.api import start_api
from pisa.tools import can_connect_to_bitcoind, in_correct_network from pisa.tools import can_connect_to_bitcoind, in_correct_network

View File

@@ -3,7 +3,7 @@ from threading import Thread
from hashlib import sha256 from hashlib import sha256
from binascii import unhexlify from binascii import unhexlify
from pisa import Logger from pisa.logger import Logger
from pisa.cleaner import Cleaner from pisa.cleaner import Cleaner
from pisa.carrier import Carrier from pisa.carrier import Carrier
from pisa.tools import check_tx_in_chain from pisa.tools import check_tx_in_chain

View File

@@ -2,7 +2,8 @@ import re
from http.client import HTTPException from http.client import HTTPException
import pisa.conf as conf 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.utils.auth_proxy import JSONRPCException
from pisa.rpc_errors import RPC_INVALID_ADDRESS_OR_KEY from pisa.rpc_errors import RPC_INVALID_ADDRESS_OR_KEY

View File

@@ -1,6 +1,6 @@
import zmq import zmq
import binascii import binascii
from pisa import Logger from pisa.logger import Logger
from pisa.conf import FEED_PROTOCOL, FEED_ADDR, FEED_PORT from pisa.conf import FEED_PROTOCOL, FEED_ADDR, FEED_PORT

View File

@@ -2,7 +2,7 @@ from uuid import uuid4
from queue import Queue from queue import Queue
from threading import Thread from threading import Thread
from pisa import Logger from pisa.logger import Logger
from pisa.cleaner import Cleaner from pisa.cleaner import Cleaner
from pisa.conf import EXPIRY_DELTA from pisa.conf import EXPIRY_DELTA
from pisa.responder import Responder from pisa.responder import Responder