mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-08-19 13:32:03 +00:00
Python doesn't make it easy for libraries to take responsibility for logging configuration (which we do to make simple usage much easier), and as we see more Gym plugins, we want their loggers to have an appropriate log level too. So we may as well configure the root logger level.
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import logging
|
|
import sys
|
|
|
|
import gym
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
root_logger = logging.getLogger()
|
|
requests_logger = logging.getLogger('requests')
|
|
|
|
# Set up the default handler
|
|
formatter = logging.Formatter('[%(asctime)s] %(message)s')
|
|
handler = logging.StreamHandler(sys.stderr)
|
|
handler.setFormatter(formatter)
|
|
|
|
# We need to take in the gym logger explicitly since this is called
|
|
# at initialization time.
|
|
def logger_setup(gym_logger):
|
|
root_logger.addHandler(handler)
|
|
root_logger.setLevel(logging.INFO)
|
|
# When set to INFO, this will print out the hostname of every
|
|
# connection it makes.
|
|
requests_logger.setLevel(logging.WARN)
|
|
|
|
def undo_logger_setup():
|
|
"""Undoes the automatic logging setup done by OpenAI Gym. You should call
|
|
this function if you want to manually configure logging
|
|
yourself. Typical usage would involve putting something like the
|
|
following at the top of your script:
|
|
|
|
gym.undo_logger_setup()
|
|
logger = logging.getLogger()
|
|
logger.addHandler(logging.StreamHandler(sys.stderr))
|
|
"""
|
|
root_logger.removeHandler(handler)
|
|
root_logger.setLevel(logging.NOTSET)
|
|
requests_logger.setLevel(logging.NOTSET)
|