use native python logger

This commit is contained in:
gcarq
2018-03-25 21:37:14 +02:00
parent 001d7443da
commit 403f59ef45
18 changed files with 145 additions and 343 deletions

View File

@@ -1,7 +1,7 @@
"""
This module contains class to define a RPC communications
"""
import logging
from datetime import datetime, timedelta
from decimal import Decimal
from typing import Tuple, Any
@@ -11,12 +11,14 @@ import sqlalchemy as sql
from pandas import DataFrame
from freqtrade import exchange
from freqtrade.logger import Logger
from freqtrade.misc import shorten_date
from freqtrade.persistence import Trade
from freqtrade.state import State
logger = logging.getLogger(__name__)
class RPC(object):
"""
RPC class can be used to have extra feature, like bot data, and access to DB data
@@ -28,10 +30,6 @@ class RPC(object):
:return: None
"""
self.freqtrade = freqtrade
self.logger = Logger(
name=__name__,
level=self.freqtrade.config.get('loglevel')
).get_logger()
def rpc_trade_status(self) -> Tuple[bool, Any]:
"""
@@ -350,7 +348,7 @@ class RPC(object):
)
).first()
if not trade:
self.logger.warning('forcesell: Invalid argument received')
logger.warning('forcesell: Invalid argument received')
return True, 'Invalid argument.'
_exec_forcesell(trade)

View File

@@ -1,11 +1,14 @@
"""
This module contains class to manage RPC communications (Telegram, Slack, ...)
"""
import logging
from freqtrade.logger import Logger
from freqtrade.rpc.telegram import Telegram
logger = logging.getLogger(__name__)
class RPCManager(object):
"""
Class to manage RPC objects (Telegram, Slack, ...)
@@ -18,12 +21,6 @@ class RPCManager(object):
"""
self.freqtrade = freqtrade
# Init the logger
self.logger = Logger(
name=__name__,
level=self.freqtrade.config.get('loglevel')
).get_logger()
self.registered_modules = []
self.telegram = None
self._init()
@@ -34,7 +31,7 @@ class RPCManager(object):
:return:
"""
if self.freqtrade.config['telegram'].get('enabled', False):
self.logger.info('Enabling rpc.telegram ...')
logger.info('Enabling rpc.telegram ...')
self.registered_modules.append('telegram')
self.telegram = Telegram(self.freqtrade)
@@ -44,7 +41,7 @@ class RPCManager(object):
:return: None
"""
if 'telegram' in self.registered_modules:
self.logger.info('Cleaning up rpc.telegram ...')
logger.info('Cleaning up rpc.telegram ...')
self.registered_modules.remove('telegram')
self.telegram.cleanup()
@@ -54,6 +51,6 @@ class RPCManager(object):
:param msg: message
:return: None
"""
self.logger.info(msg)
logger.info(msg)
if 'telegram' in self.registered_modules:
self.telegram.send_msg(msg)

View File

@@ -3,7 +3,7 @@
"""
This module manage Telegram communication
"""
import logging
from typing import Any, Callable
from tabulate import tabulate
@@ -15,6 +15,9 @@ from freqtrade.__init__ import __version__
from freqtrade.rpc.rpc import RPC
logger = logging.getLogger(__name__)
def authorized_only(command_handler: Callable[[Bot, Update], None]) -> Callable[..., Any]:
"""
Decorator to check if the message comes from the correct chat_id
@@ -31,13 +34,13 @@ def authorized_only(command_handler: Callable[[Bot, Update], None]) -> Callable[
chat_id = int(self._config['telegram']['chat_id'])
if int(update.message.chat_id) != chat_id:
self.logger.info(
logger.info(
'Rejected unauthorized message from: %s',
update.message.chat_id
)
return wrapper
self.logger.info(
logger.info(
'Executing handler: %s for chat_id: %s',
command_handler.__name__,
chat_id
@@ -45,7 +48,7 @@ def authorized_only(command_handler: Callable[[Bot, Update], None]) -> Callable[
try:
return command_handler(self, *args, **kwargs)
except BaseException:
self.logger.exception('Exception occurred within Telegram module')
logger.exception('Exception occurred within Telegram module')
return wrapper
@@ -101,7 +104,7 @@ class Telegram(RPC):
timeout=30,
read_latency=60,
)
self.logger.info(
logger.info(
'rpc.telegram is listening for following commands: %s',
[h.command for h in handles]
)
@@ -357,7 +360,7 @@ class Telegram(RPC):
'max': [self._config['max_open_trades']]
}, headers=['current', 'max'], tablefmt='simple')
message = "<pre>{}</pre>".format(message)
self.logger.debug(message)
logger.debug(message)
self.send_msg(message, parse_mode=ParseMode.HTML)
@authorized_only
@@ -428,7 +431,7 @@ class Telegram(RPC):
except NetworkError as network_err:
# Sometimes the telegram server resets the current connection,
# if this is the case we send the message again.
self.logger.warning(
logger.warning(
'Telegram NetworkError: %s! Trying one more time.',
network_err.message
)
@@ -439,7 +442,7 @@ class Telegram(RPC):
reply_markup=reply_markup
)
except TelegramError as telegram_err:
self.logger.warning(
logger.warning(
'TelegramError: %s! Giving up on that message.',
telegram_err.message
)