import logging# Create basic logging configurationlogging.basicConfig()# Set log level for PyPowSyBllogging.getLogger('powsybl').setLevel(logging.INFO)import pypowsybl as pp# Now you'll see INFO level messages
import logging# Configure format with timestamplogging.basicConfig( format='%(asctime)s - %(levelname)s - %(message)s', level=logging.INFO)logging.getLogger('powsybl').setLevel(logging.INFO)import pypowsybl as pp# Output: 2026-03-06 10:30:45,123 - INFO - Max heap is 4096 MB
import logginglogging.basicConfig( filename='pypowsybl.log', filemode='w', # 'w' to overwrite, 'a' to append format='%(asctime)s - %(levelname)s - %(message)s', level=logging.INFO)logging.getLogger('powsybl').setLevel(logging.DEBUG)import pypowsybl as pp# Logs written to pypowsybl.log
import logginglogging.basicConfig( format='[%(levelname)s] %(message)s', level=logging.ERROR)logging.getLogger('powsybl').setLevel(logging.ERROR)# Suppress most output during tests
import logginglogging.basicConfig(level=logging.INFO)# General pypowsybl logs at INFOlogging.getLogger('powsybl').setLevel(logging.INFO)# Loadflow logs at DEBUGlogging.getLogger('powsybl.loadflow').setLevel(logging.DEBUG)# Security analysis logs at WARNING onlylogging.getLogger('powsybl.security').setLevel(logging.WARNING)
import logginglogging.basicConfig( format='%(asctime)s - %(levelname)s - %(message)s')logging.getLogger('powsybl').setLevel(logging.DEBUG)import pypowsybl as pp# Debug output will show import detailsnetwork = pp.network.load('problematic_file.xiidm')
Monitoring long-running calculations
import logginglogging.basicConfig( format='%(asctime)s - %(message)s', level=logging.INFO)logging.getLogger('powsybl').setLevel(logging.INFO)import pypowsybl as pp# Will show progress of calculationresult = pp.security.run_ac(large_network)
Production error tracking
import loggingimport logging.handlerslogger = logging.getLogger('powsybl')logger.setLevel(logging.WARNING)handler = logging.handlers.RotatingFileHandler( '/var/log/pypowsybl/errors.log', maxBytes=50*1024*1024, backupCount=10)handler.setFormatter( logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))logger.addHandler(handler)import pypowsybl as pp# Only warnings and errors logged