You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I have started using hypercorn very recently to move away from uvicorn or gunicorn there are certain issues I'm facing while trying to configure it through either a TOML file or a python module.
use_reloader was not working when I was trying to use it through python code and serve it
from hypercorn.config import Config as HypercornConfig
class HypercornApplication:
"""
Custom Hypercorn application.
This class is used to start Hypercorn with the FastAPI application.
"""
def __init__(
self,
app: FastAPI,
host: str = settings.host,
port: int = settings.port,
workers: int = settings.workers_count,
reload: bool = settings.reload,
**kwargs: Any,
) -> None:
self.app = app
self.host = host
self.port = port
self.workers = workers
self.reload = reload
self.kwargs = kwargs
def create_config(self) -> HypercornConfig:
"""
Create and return a Hypercorn configuration object.
"""
config = HypercornConfig()
config.bind = [f"{self.host}:{self.port}"]
config.workers = self.workers
config.use_reloader = self.reload
config.loglevel = logging.getLevelName(logging.ERROR)
config.accesslog = "-"
# Additional configuration options can be set here
for key, value in self.kwargs.items():
setattr(config, key, value)
return config
def run(self) -> None:
"""
Run the FastAPI application with Hypercorn.
"""
config = self.create_config()
logger.info(f"Starting Hypercorn on {self.host}:{self.port}")
asyncio.run(serve(self.app, config)) # type: ignore
The second issue was with logging I couldn't configure the hypercorn log either with a custom logger class or with the config. Nothing worked for me other than the config.loglevel this is the only config that worked for me for the logs. When I tried to configure with TOML file even the loglevel was not getting affected.
Can you provide an example at least one TOML based configuration file and one python file to customise the logger. This will be very useful.
The text was updated successfully, but these errors were encountered:
Hi, I have started using
hypercorn
very recently to move away fromuvicorn
orgunicorn
there are certain issues I'm facing while trying to configure it through either aTOML
file or a python module.use_reloader
was not working when I was trying to use it through python code and serve itconfig.loglevel
this is the only config that worked for me for the logs. When I tried to configure withTOML
file even theloglevel
was not getting affected.Can you provide an example at least one TOML based configuration file and one python file to customise the logger. This will be very useful.
The text was updated successfully, but these errors were encountered: