OpenHands/openhands/server/__main__.py
Graham Neubig 843cc00e79
feat(logging): JSON log config for Uvicorn when LOG_JSON=1 (#11264)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-10-08 11:26:45 -04:00

31 lines
898 B
Python

import os
import warnings
import uvicorn
from openhands.core.logger import get_uvicorn_json_log_config
def main():
# Suppress SyntaxWarnings from pydub.utils about invalid escape sequences
warnings.filterwarnings('ignore', category=SyntaxWarning, module=r'pydub\.utils')
# When LOG_JSON=1, configure Uvicorn to emit JSON logs for error/access
log_config = None
if os.getenv('LOG_JSON', '0') in ('1', 'true', 'True'):
log_config = get_uvicorn_json_log_config()
uvicorn.run(
'openhands.server.listen:app',
host='0.0.0.0',
port=int(os.environ.get('port') or '3000'),
log_level='debug' if os.environ.get('DEBUG') else 'info',
log_config=log_config,
# If LOG_JSON enabled, force colors off; otherwise let uvicorn default
use_colors=False if log_config else None,
)
if __name__ == '__main__':
main()