Files
Gymnasium/gym/configuration.py
Greg Brockman ada730a5b1 Switch the Gym automated logger setup to configure the root logger rather than just the 'gym' logger
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.
2016-09-21 14:55:04 -07:00

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)