set logger leveer to warning

This commit is contained in:
Dobromir Popov
2025-06-25 13:54:04 +03:00
parent 9bbc93c4ea
commit 4c87b7c977
3 changed files with 28 additions and 16 deletions

View File

@ -888,4 +888,4 @@ class TradingExecutor:
return None
except Exception as e:
logger.error(f"Error getting current position: {e}")
return None
return None

View File

@ -53,12 +53,12 @@ async def start_training_pipeline(orchestrator, trading_executor):
try:
# Start real-time processing
await orchestrator.start_realtime_processing()
logger.info("Real-time processing started")
logger.info("Real-time processing started")
# Start COB integration
if hasattr(orchestrator, 'start_cob_integration'):
await orchestrator.start_cob_integration()
logger.info("COB integration started")
logger.info("COB integration started")
# Main training loop
iteration = 0

View File

@ -43,6 +43,11 @@ from dataclasses import asdict
# Setup logger
logger = logging.getLogger(__name__)
# Reduce Werkzeug/Dash logging noise
logging.getLogger('werkzeug').setLevel(logging.WARNING)
logging.getLogger('dash').setLevel(logging.WARNING)
logging.getLogger('dash.dash').setLevel(logging.WARNING)
# Import core components
from core.config import get_config
from core.data_provider import DataProvider
@ -152,6 +157,9 @@ class CleanTradingDashboard:
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css'
])
# Suppress Dash development mode logging
self.app.enable_dev_tools(debug=False, dev_tools_silence_routes_logging=True)
# Setup layout and callbacks
self._setup_layout()
self._setup_callbacks()
@ -1294,13 +1302,13 @@ class CleanTradingDashboard:
"""Start continuous signal generation loop"""
try:
def signal_worker():
logger.info("🚀 Starting continuous signal generation loop")
logger.info("Starting continuous signal generation loop")
# Initialize DQN if not available
if not hasattr(self.orchestrator, 'sensitivity_dqn_agent') or self.orchestrator.sensitivity_dqn_agent is None:
try:
self.orchestrator._initialize_sensitivity_dqn()
logger.info("DQN Agent initialized for signal generation")
logger.info("DQN Agent initialized for signal generation")
except Exception as e:
logger.warning(f"Could not initialize DQN: {e}")
@ -1337,7 +1345,7 @@ class CleanTradingDashboard:
# Start signal generation thread
signal_thread = threading.Thread(target=signal_worker, daemon=True)
signal_thread.start()
logger.info("Signal generation loop started")
logger.info("Signal generation loop started")
except Exception as e:
logger.error(f"Error starting signal generation loop: {e}")
@ -1481,7 +1489,7 @@ class CleanTradingDashboard:
self.recent_decisions = self.recent_decisions[-20:]
# Log signal generation
logger.info(f"📊 Generated {signal['action']} signal for {signal['symbol']} "
logger.info(f"Generated {signal['action']} signal for {signal['symbol']} "
f"(conf: {signal['confidence']:.2f}, model: {signal.get('model', 'UNKNOWN')})")
# Trigger training if DQN agent is available
@ -1580,7 +1588,7 @@ class CleanTradingDashboard:
result = self.trading_executor.execute_trade(symbol, action, 0.01) # Small size for testing
if result:
decision['executed'] = True
logger.info(f"Manual {action} executed at ${current_price:.2f}")
logger.info(f"Manual {action} executed at ${current_price:.2f}")
# Create a trade record for tracking
trade_record = {
@ -1612,13 +1620,13 @@ class CleanTradingDashboard:
decision['executed'] = False
decision['blocked'] = True
decision['block_reason'] = "Trading executor returned False"
logger.warning(f"Manual {action} failed - executor returned False")
logger.warning(f"Manual {action} failed - executor returned False")
except Exception as e:
decision['executed'] = False
decision['blocked'] = True
decision['block_reason'] = str(e)
logger.error(f"Manual {action} failed with error: {e}")
logger.error(f"Manual {action} failed with error: {e}")
# Add to recent decisions for display
self.recent_decisions.append(decision)
@ -1671,9 +1679,9 @@ class CleanTradingDashboard:
import threading
threading.Thread(target=self._start_cob_data_subscription, daemon=True).start()
logger.info("COB RL integration initialized successfully")
logger.info("🧠 1B parameter model ready for inference")
logger.info("📊 COB data subscription started")
logger.info("COB RL integration initialized successfully")
logger.info("1B parameter model ready for inference")
logger.info("COB data subscription started")
except Exception as e:
logger.error(f"Failed to initialize COB integration: {e}")
@ -2053,8 +2061,12 @@ class CleanTradingDashboard:
def run_server(self, host='127.0.0.1', port=8051, debug=False):
"""Run the dashboard server"""
# Set logging level for Flask/Werkzeug to reduce noise
if not debug:
logging.getLogger('werkzeug').setLevel(logging.ERROR)
logger.info(f"Starting Clean Trading Dashboard at http://{host}:{port}")
self.app.run(host=host, port=port, debug=debug)
self.app.run(host=host, port=port, debug=debug, dev_tools_silence_routes_logging=True)
def stop(self):
"""Stop the dashboard and cleanup resources"""
@ -2120,8 +2132,8 @@ class CleanTradingDashboard:
self._stream_update_count = 1
if self._stream_update_count % 100 == 0: # Every 100 updates
logger.info(f"📈 Universal Stream: {self._stream_update_count} updates processed for {consumer_name}")
logger.debug(f"📊 Current data: ticks={len(data_packet.get('ticks', []))}, "
logger.info(f"Universal Stream: {self._stream_update_count} updates processed for {consumer_name}")
logger.debug(f"Current data: ticks={len(data_packet.get('ticks', []))}, "
f"tf_symbols={len(data_packet.get('multi_timeframe', {}))}")
except Exception as e: