From b820daf38ffc622a378a0440f69ec85572f4e5e3 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Sat, 13 Apr 2024 11:22:58 +0530 Subject: [PATCH] Makes logs less noisy - Show telemetry enabled/disabled state on init, not every 2 minutes - Convert no docs synced logs to debug level instead of warning Having synced docs isn't as important to use Khoj now, unlike before --- src/khoj/configure.py | 9 +++++---- src/khoj/routers/api.py | 4 +--- src/khoj/utils/helpers.py | 6 +++++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/khoj/configure.py b/src/khoj/configure.py index 60aaf658..9f8abeb4 100644 --- a/src/khoj/configure.py +++ b/src/khoj/configure.py @@ -39,7 +39,7 @@ from khoj.routers.twilio import is_twilio_enabled from khoj.utils import constants, state from khoj.utils.config import SearchType from khoj.utils.fs_syncer import collect_files -from khoj.utils.helpers import is_none_or_empty +from khoj.utils.helpers import is_none_or_empty, telemetry_disabled from khoj.utils.rawconfig import FullConfig logger = logging.getLogger(__name__) @@ -232,6 +232,9 @@ def configure_server( state.search_models = configure_search(state.search_models, state.config.search_type) setup_default_agent() + message = "📡 Telemetry disabled" if telemetry_disabled(state.config.app) else "📡 Telemetry enabled" + logger.info(message) + if not init: initialize_content(regenerate, search_type, user) @@ -329,9 +332,7 @@ def configure_search_types(): @schedule.repeat(schedule.every(2).minutes) def upload_telemetry(): - if not state.config or not state.config.app or not state.config.app.should_log_telemetry or not state.telemetry: - message = "📡 No telemetry to upload" if not state.telemetry else "📡 Telemetry logging disabled" - logger.debug(message) + if telemetry_disabled(state.config.app) or not state.telemetry: return try: diff --git a/src/khoj/routers/api.py b/src/khoj/routers/api.py index cf84e724..7f546832 100644 --- a/src/khoj/routers/api.py +++ b/src/khoj/routers/api.py @@ -289,9 +289,7 @@ async def extract_references_and_questions( return compiled_references, inferred_queries, q if not await sync_to_async(EntryAdapters.user_has_entries)(user=user): - logger.warning( - "No content index loaded, so cannot extract references from knowledge base. Please configure your data sources and update the index to chat with your notes." - ) + logger.debug("No documents in knowledge base. Use a Khoj client to sync and chat with your docs.") return compiled_references, inferred_queries, q # Extract filter terms from user message diff --git a/src/khoj/utils/helpers.py b/src/khoj/utils/helpers.py index f6a66b4f..a61387d5 100644 --- a/src/khoj/utils/helpers.py +++ b/src/khoj/utils/helpers.py @@ -233,6 +233,10 @@ def get_server_id(): return server_id +def telemetry_disabled(app_config: AppConfig): + return not app_config or not app_config.should_log_telemetry + + def log_telemetry( telemetry_type: str, api: str = None, @@ -242,7 +246,7 @@ def log_telemetry( ): """Log basic app usage telemetry like client, os, api called""" # Do not log usage telemetry, if telemetry is disabled via app config - if not app_config or not app_config.should_log_telemetry: + if telemetry_disabled(app_config): return [] if properties.get("server_id") is None: