summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'continuedev/src/continuedev/server/main.py')
-rw-r--r--continuedev/src/continuedev/server/main.py64
1 files changed, 35 insertions, 29 deletions
diff --git a/continuedev/src/continuedev/server/main.py b/continuedev/src/continuedev/server/main.py
index b92c9fa3..468bc855 100644
--- a/continuedev/src/continuedev/server/main.py
+++ b/continuedev/src/continuedev/server/main.py
@@ -15,6 +15,7 @@ from .ide import router as ide_router
from .gui import router as gui_router
from .session_manager import session_manager
from ..libs.util.paths import getLogFilePath
+from ..libs.util.logging import logger
app = FastAPI()
@@ -33,45 +34,49 @@ app.add_middleware(
@app.get("/health")
def health():
- print("Testing")
+ logger.debug("Health check")
return {"status": "ok"}
-# add cli arg for server port
-parser = argparse.ArgumentParser()
-parser.add_argument("-p", "--port", help="server port",
- type=int, default=65432)
-args = parser.parse_args()
-
-log_path = getLogFilePath()
-LOG_CONFIG = {
- 'version': 1,
- 'disable_existing_loggers': False,
- 'handlers': {
- 'file': {
- 'level': 'DEBUG',
- 'class': 'logging.FileHandler',
- 'filename': log_path,
- },
- },
- 'root': {
- 'level': 'DEBUG',
- 'handlers': ['file']
- }
-}
-print(f"Log path: {log_path}")
+class Logger(object):
+ def __init__(self, log_file: str):
+ self.terminal = sys.stdout
+ self.log = open(log_file, "a")
+
+ def write(self, message):
+ self.terminal.write(message)
+ self.log.write(message)
+
+ def flush(self):
+ # this flush method is needed for python 3 compatibility.
+ # this handles the flush command by doing nothing.
+ # you might want to specify some extra behavior here.
+ pass
+
+ def isatty(self):
+ return False
+
+
+try:
+ # add cli arg for server port
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-p", "--port", help="server port",
+ type=int, default=65432)
+ args = parser.parse_args()
+except Exception as e:
+ logger.debug(f"Error parsing command line arguments: {e}")
+ raise e
def run_server():
- config = uvicorn.Config(app, host="0.0.0.0",
- port=args.port, log_config=LOG_CONFIG)
+ config = uvicorn.Config(app, host="127.0.0.1", port=args.port)
server = uvicorn.Server(config)
server.run()
async def cleanup_coroutine():
- print("Cleaning up sessions")
+ logger.debug("Cleaning up sessions")
for session_id in session_manager.sessions:
await session_manager.persist_session(session_id)
@@ -90,13 +95,14 @@ def cpu_usage_report():
time.sleep(1)
# Call cpu_percent again to get the CPU usage over the interval
cpu_usage = process.cpu_percent(interval=None)
- print(f"CPU usage: {cpu_usage}%")
+ logger.debug(f"CPU usage: {cpu_usage}%")
atexit.register(cleanup)
if __name__ == "__main__":
try:
+ # Uncomment to get CPU usage reports
# import threading
# def cpu_usage_loop():
@@ -109,6 +115,6 @@ if __name__ == "__main__":
run_server()
except Exception as e:
- print("Error starting Continue server: ", e)
+ logger.debug(f"Error starting Continue server: {e}")
cleanup()
raise e