diff options
| author | Nate Sesti <sestinj@gmail.com> | 2023-07-28 16:43:04 -0700 | 
|---|---|---|
| committer | Nate Sesti <sestinj@gmail.com> | 2023-07-28 16:43:04 -0700 | 
| commit | 99ece78c8640495fbdabd95d30c26d620045b0ec (patch) | |
| tree | 13a165d370407b419aa956eed925c56fd13f87e4 /continuedev/src/continuedev/server | |
| parent | 7894c8ed1517394aa00f6e496a97d9e27d204f5f (diff) | |
| download | sncontinue-99ece78c8640495fbdabd95d30c26d620045b0ec.tar.gz sncontinue-99ece78c8640495fbdabd95d30c26d620045b0ec.tar.bz2 sncontinue-99ece78c8640495fbdabd95d30c26d620045b0ec.zip  | |
refactor: :loud_sound: replace all print with logger.debug
Diffstat (limited to 'continuedev/src/continuedev/server')
| -rw-r--r-- | continuedev/src/continuedev/server/gui.py | 17 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/ide.py | 30 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/main.py | 41 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/meilisearch_server.py | 5 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/session_manager.py | 9 | 
5 files changed, 40 insertions, 62 deletions
diff --git a/continuedev/src/continuedev/server/gui.py b/continuedev/src/continuedev/server/gui.py index 58e875b9..2adb680e 100644 --- a/continuedev/src/continuedev/server/gui.py +++ b/continuedev/src/continuedev/server/gui.py @@ -12,6 +12,7 @@ from .gui_protocol import AbstractGUIProtocolServer  from ..libs.util.queue import AsyncSubscriptionQueue  from ..libs.util.telemetry import posthog_logger  from ..libs.util.create_async_task import create_async_task +from ..libs.util.logging import logger  router = APIRouter(prefix="/gui", tags=["gui"]) @@ -25,7 +26,7 @@ class AppStatus:      @staticmethod      def handle_exit(*args, **kwargs):          AppStatus.should_exit = True -        print("Shutting down") +        logger.debug("Shutting down")          original_handler(*args, **kwargs) @@ -96,7 +97,7 @@ class GUIProtocolServer(AbstractGUIProtocolServer):              elif message_type == "select_context_item":                  self.select_context_item(data["id"], data["query"])          except Exception as e: -            print(e) +            logger.debug(e)      def on_main_input(self, input: str):          # Do something with user input @@ -162,10 +163,10 @@ class GUIProtocolServer(AbstractGUIProtocolServer):  @router.websocket("/ws")  async def websocket_endpoint(websocket: WebSocket, session: Session = Depends(websocket_session)):      try: -        print("Received websocket connection at url: ", websocket.url) +        logger.debug(f"Received websocket connection at url: {websocket.url}")          await websocket.accept() -        print("Session started") +        logger.debug("Session started")          session_manager.register_websocket(session.session_id, websocket)          protocol = GUIProtocolServer(session)          protocol.websocket = websocket @@ -175,7 +176,7 @@ async def websocket_endpoint(websocket: WebSocket, session: Session = Depends(we          while AppStatus.should_exit is False:              message = await websocket.receive_text() -            print("Received GUI message", message) +            logger.debug(f"Received GUI message {message}")              if type(message) is str:                  message = json.loads(message) @@ -186,14 +187,14 @@ async def websocket_endpoint(websocket: WebSocket, session: Session = Depends(we              protocol.handle_json(message_type, data)      except WebSocketDisconnect as e: -        print("GUI websocket disconnected") +        logger.debug("GUI websocket disconnected")      except Exception as e: -        print("ERROR in gui websocket: ", e) +        logger.debug(f"ERROR in gui websocket: {e}")          posthog_logger.capture_event("gui_error", {              "error_title": e.__str__() or e.__repr__(), "error_message": '\n'.join(traceback.format_exception(e))})          raise e      finally: -        print("Closing gui websocket") +        logger.debug("Closing gui websocket")          if websocket.client_state != WebSocketState.DISCONNECTED:              await websocket.close() diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index e4c2d714..8a269cb7 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -19,6 +19,7 @@ from .gui import session_manager  from .ide_protocol import AbstractIdeProtocolServer  from ..libs.util.create_async_task import create_async_task  from .session_manager import SessionManager +from ..libs.util.logging import logger  import nest_asyncio  nest_asyncio.apply() @@ -37,7 +38,7 @@ class AppStatus:      @staticmethod      def handle_exit(*args, **kwargs):          AppStatus.should_exit = True -        print("Shutting down") +        logger.debug("Shutting down")          original_handler(*args, **kwargs) @@ -140,7 +141,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer):                  continue              message_type = message["messageType"]              data = message["data"] -            print("Received message while initializing", message_type) +            logger.debug(f"Received message while initializing {message_type}")              if message_type == "workspaceDirectory":                  self.workspace_directory = data["workspaceDirectory"]              elif message_type == "uniqueId": @@ -154,9 +155,10 @@ class IdeProtocolServer(AbstractIdeProtocolServer):      async def _send_json(self, message_type: str, data: Any):          if self.websocket.application_state == WebSocketState.DISCONNECTED: -            print("Tried to send message, but websocket is disconnected", message_type) +            logger.debug( +                f"Tried to send message, but websocket is disconnected: {message_type}")              return -        print("Sending IDE message: ", message_type) +        logger.debug(f"Sending IDE message: {message_type}")          await self.websocket.send_json({              "messageType": message_type,              "data": data @@ -167,7 +169,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer):              return await asyncio.wait_for(self.sub_queue.get(message_type), timeout=timeout)          except asyncio.TimeoutError:              raise Exception( -                "IDE Protocol _receive_json timed out after 20 seconds", message_type) +                f"IDE Protocol _receive_json timed out after 20 seconds: {message_type}")      async def _send_and_receive_json(self, data: Any, resp_model: Type[T], message_type: str) -> T:          await self._send_json(message_type, data) @@ -354,7 +356,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer):              }, GetUserSecretResponse, "getUserSecret")              return resp.value          except Exception as e: -            print("Error getting user secret", e) +            logger.debug(f"Error getting user secret: {e}")              return ""      async def saveFile(self, filepath: str): @@ -437,15 +439,15 @@ class IdeProtocolServer(AbstractIdeProtocolServer):  async def websocket_endpoint(websocket: WebSocket, session_id: str = None):      try:          await websocket.accept() -        print("Accepted websocket connection from, ", websocket.client) +        logger.debug(f"Accepted websocket connection from {websocket.client}")          await websocket.send_json({"messageType": "connected", "data": {}})          # Start meilisearch          try:              await start_meilisearch()          except Exception as e: -            print("Failed to start MeiliSearch") -            print(e) +            logger.debug("Failed to start MeiliSearch") +            logger.debug(e)          def handle_msg(msg):              message = json.loads(msg) @@ -455,7 +457,7 @@ async def websocket_endpoint(websocket: WebSocket, session_id: str = None):              message_type = message["messageType"]              data = message["data"] -            print("Received IDE message: ", message_type) +            logger.debug(f"Received IDE message: {message_type}")              create_async_task(                  ideProtocolServer.handle_json(message_type, data)) @@ -473,16 +475,16 @@ async def websocket_endpoint(websocket: WebSocket, session_id: str = None):              message = await websocket.receive_text()              handle_msg(message) -        print("Closing ide websocket") +        logger.debug("Closing ide websocket")      except WebSocketDisconnect as e: -        print("IDE wbsocket disconnected") +        logger.debug("IDE wbsocket disconnected")      except Exception as e: -        print("Error in ide websocket: ", e) +        logger.debug(f"Error in ide websocket: {e}")          posthog_logger.capture_event("gui_error", {              "error_title": e.__str__() or e.__repr__(), "error_message": '\n'.join(traceback.format_exception(e))})          raise e      finally: -        print("Closing ide websocket") +        logger.debug("Closing ide websocket")          if websocket.client_state != WebSocketState.DISCONNECTED:              await websocket.close() diff --git a/continuedev/src/continuedev/server/main.py b/continuedev/src/continuedev/server/main.py index 1c7a135c..13f6b840 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,7 +34,7 @@ app.add_middleware(  @app.get("/health")  def health(): -    print("Health check") +    logger.debug("Health check")      return {"status": "ok"} @@ -56,31 +57,6 @@ class Logger(object):          return False -def setup_logging(): -    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'] -        } -    } - -    logger = Logger(log_path) -    print(f"Log path: {log_path}") -    # sys.stdout = logger -    # sys.stderr = logger -    print("Testing logs") - -  try:      # add cli arg for server port      parser = argparse.ArgumentParser() @@ -88,21 +64,19 @@ try:                          type=int, default=65432)      args = parser.parse_args()  except Exception as e: -    print("Error parsing command line arguments: ", 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="0.0.0.0", 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) @@ -121,7 +95,7 @@ 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) @@ -139,9 +113,8 @@ if __name__ == "__main__":          # cpu_thread = threading.Thread(target=cpu_usage_loop)          # cpu_thread.start() -        setup_logging()          run_server()      except Exception as e: -        print("Error starting Continue server: ", e) +        logger.debug(f"Error starting Continue server: {e}")          cleanup()          raise e diff --git a/continuedev/src/continuedev/server/meilisearch_server.py b/continuedev/src/continuedev/server/meilisearch_server.py index 00f692f5..7f460afc 100644 --- a/continuedev/src/continuedev/server/meilisearch_server.py +++ b/continuedev/src/continuedev/server/meilisearch_server.py @@ -5,6 +5,7 @@ import subprocess  from meilisearch_python_async import Client  from ..libs.util.paths import getServerFolderPath +from ..libs.util.logging import logger  def ensure_meilisearch_installed() -> bool: @@ -39,7 +40,7 @@ def ensure_meilisearch_installed() -> bool:              shutil.rmtree(p, ignore_errors=True)          # Download MeiliSearch -        print("Downloading MeiliSearch...") +        logger.debug("Downloading MeiliSearch...")          subprocess.run(              f"curl -L https://install.meilisearch.com | sh", shell=True, check=True, cwd=serverPath) @@ -82,6 +83,6 @@ async def start_meilisearch():      # Check if MeiliSearch is running      if not await check_meilisearch_running() or not was_already_installed: -        print("Starting MeiliSearch...") +        logger.debug("Starting MeiliSearch...")          subprocess.Popen(["./meilisearch", "--no-analytics"], cwd=serverPath, stdout=subprocess.DEVNULL,                           stderr=subprocess.STDOUT, close_fds=True, start_new_session=True) diff --git a/continuedev/src/continuedev/server/session_manager.py b/continuedev/src/continuedev/server/session_manager.py index 511dc070..d30411cd 100644 --- a/continuedev/src/continuedev/server/session_manager.py +++ b/continuedev/src/continuedev/server/session_manager.py @@ -15,6 +15,7 @@ from ..core.autopilot import Autopilot  from .ide_protocol import AbstractIdeProtocolServer  from ..libs.util.create_async_task import create_async_task  from ..libs.util.errors import SessionNotFound +from ..libs.util.logging import logger  class Session: @@ -61,7 +62,7 @@ class SessionManager:          return self.sessions[session_id]      async def new_session(self, ide: AbstractIdeProtocolServer, session_id: Union[str, None] = None) -> Session: -        print("New session: ", session_id) +        logger.debug(f"New session: {session_id}")          full_state = None          if session_id is not None and os.path.exists(getSessionFilePath(session_id)): @@ -86,7 +87,7 @@ class SessionManager:          return session      async def remove_session(self, session_id: str): -        print("Removing session: ", session_id) +        logger.debug(f"Removing session: {session_id}")          if session_id in self.sessions:              if session_id in self.registered_ides:                  ws_to_close = self.registered_ides[session_id].websocket @@ -103,13 +104,13 @@ class SessionManager:      def register_websocket(self, session_id: str, ws: WebSocket):          self.sessions[session_id].ws = ws -        print("Registered websocket for session", session_id) +        logger.debug(f"Registered websocket for session {session_id}")      async def send_ws_data(self, session_id: str, message_type: str, data: Any):          if session_id not in self.sessions:              raise SessionNotFound(f"Session {session_id} not found")          if self.sessions[session_id].ws is None: -            # print(f"Session {session_id} has no websocket") +            # logger.debug(f"Session {session_id} has no websocket")              return          await self.sessions[session_id].ws.send_json({  | 
