sunholo 0.127.3__tar.gz → 0.129.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sunholo-0.127.3/src/sunholo.egg-info → sunholo-0.129.0}/PKG-INFO +1 -1
- {sunholo-0.127.3 → sunholo-0.129.0}/pyproject.toml +1 -1
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/discovery_engine/chunker_handler.py +1 -2
- sunholo-0.129.0/src/sunholo/traced_logging.py +70 -0
- {sunholo-0.127.3 → sunholo-0.129.0/src/sunholo.egg-info}/PKG-INFO +1 -1
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo.egg-info/SOURCES.txt +1 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/LICENSE.txt +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/MANIFEST.in +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/README.md +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/setup.cfg +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/langserve.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/route.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/agents/swagger.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/archive/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/archive/archive.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/auth/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/auth/refresh.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/auth/run.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/azure/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/azure/auth.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/azure/blobs.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/bots/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/bots/discord.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/bots/webapp.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/azure.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/images.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/publish.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/cli.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/configs.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/deploy.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/embedder.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/swagger.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/cli/vertex.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/components/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/components/llm.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/components/retriever.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/custom_logging.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/alloydb.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/database.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/lancedb.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/database/uuid.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/discovery_engine/cli.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/embedder/embed_metadata.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/excel/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/excel/plugin.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/gcs/extract_and_sign.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/genai/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/genai/file_handling.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/genai/genaiv2.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/genai/images.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/genai/init.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/genai/process_funcs_cls.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/genai/safety.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/langchain_types.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/langfuse/evals.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/mcp/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/mcp/cli.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/ollama/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/ollama/ollama_images.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/qna/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/qna/parsers.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/qna/retry.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/senses/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/senses/stream_voice.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/agent/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/agent/agent_service.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/agent/app.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/agent/my_log.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/agent/tools/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/agent/tools/your_agent.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/agent/vac_service.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/project/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/project/app.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/project/my_log.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/project/vac_service.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/system_services/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/system_services/app.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/templates/system_services/my_log.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/tools/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/api_key.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/big_context.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/config.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/config_class.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/gcp.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/mime.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/parsers.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/utils/version.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/init.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/safety.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/src/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/tests/test_async.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/tests/test_async_genai2.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/tests/test_chat_history.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/tests/test_config.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/tests/test_genai2.py +0 -0
- {sunholo-0.127.3 → sunholo-0.129.0}/tests/test_unstructured.py +0 -0
@@ -136,6 +136,7 @@ def check_write_memories(config:ConfigManager):
|
|
136
136
|
|
137
137
|
return write_mem
|
138
138
|
|
139
|
+
|
139
140
|
def discovery_engine_chunker_check(message_data,
|
140
141
|
metadata,
|
141
142
|
vector_name:str=None,
|
@@ -172,8 +173,6 @@ def discovery_engine_chunker_check(message_data,
|
|
172
173
|
except Exception as err:
|
173
174
|
log.error(f"Error processing discovery engine: {str(err)} {traceback.format_exc()}")
|
174
175
|
disc_meta = None
|
175
|
-
|
176
|
-
return disc_meta
|
177
176
|
|
178
177
|
# If discovery engine is the only entry, return
|
179
178
|
if total_discovery_memories == total_memories:
|
@@ -0,0 +1,70 @@
|
|
1
|
+
from .custom_logging import setup_logging, GoogleCloudLogging
|
2
|
+
|
3
|
+
class TracedGoogleCloudLogging(GoogleCloudLogging):
|
4
|
+
"""Extends GoogleCloudLogging with trace ID functionality."""
|
5
|
+
|
6
|
+
def __init__(self, project_id=None, log_level=None, logger_name=None, trace_id=None):
|
7
|
+
super().__init__(project_id, log_level, logger_name)
|
8
|
+
self.trace_id = trace_id
|
9
|
+
|
10
|
+
def update_trace_id(self, trace_id):
|
11
|
+
"""Update the trace ID to be included in all logs."""
|
12
|
+
self.trace_id = trace_id
|
13
|
+
|
14
|
+
def _get_trace_prefix(self):
|
15
|
+
"""Get the trace prefix if a trace ID is set."""
|
16
|
+
return f"aitana-{self.trace_id} " if self.trace_id else ""
|
17
|
+
|
18
|
+
def structured_log(self, log_text=None, log_struct=None, logger_name=None, severity="INFO"):
|
19
|
+
"""Override to add trace ID to logs."""
|
20
|
+
if log_text and self.trace_id:
|
21
|
+
log_text = f"{self._get_trace_prefix()}{log_text}"
|
22
|
+
|
23
|
+
if log_struct and self.trace_id:
|
24
|
+
if isinstance(log_struct, dict):
|
25
|
+
log_struct = {**log_struct, "trace_id": self.trace_id}
|
26
|
+
|
27
|
+
# Call the parent method with the modified parameters
|
28
|
+
super().structured_log(log_text, log_struct, logger_name, severity)
|
29
|
+
|
30
|
+
def setup_traced_logging(logger_name=None, log_level=None, project_id=None, trace_id=None):
|
31
|
+
"""Sets up traced logging that includes a trace ID in all logs."""
|
32
|
+
# First get the base logger from the original setup_logging
|
33
|
+
base_logger = setup_logging(logger_name, log_level, project_id)
|
34
|
+
|
35
|
+
# If it's a GoogleCloudLogging instance, wrap it with our traced version
|
36
|
+
if isinstance(base_logger, GoogleCloudLogging):
|
37
|
+
traced_logger = TracedGoogleCloudLogging(
|
38
|
+
project_id=base_logger.project_id,
|
39
|
+
log_level=base_logger.log_level,
|
40
|
+
logger_name=base_logger.logger_name,
|
41
|
+
trace_id=trace_id
|
42
|
+
)
|
43
|
+
traced_logger.client = base_logger.client # Reuse the client
|
44
|
+
return traced_logger
|
45
|
+
|
46
|
+
# For standard Python logging, we can add a filter
|
47
|
+
import logging
|
48
|
+
class TraceFilter(logging.Filter):
|
49
|
+
def __init__(self, trace_id=None):
|
50
|
+
super().__init__()
|
51
|
+
self.trace_id = trace_id
|
52
|
+
|
53
|
+
def update_trace_id(self, trace_id):
|
54
|
+
self.trace_id = trace_id
|
55
|
+
|
56
|
+
def filter(self, record):
|
57
|
+
if self.trace_id:
|
58
|
+
prefix = f"aitana-{self.trace_id} "
|
59
|
+
if not record.msg.startswith(prefix):
|
60
|
+
record.msg = f"{prefix}{record.msg}"
|
61
|
+
return True
|
62
|
+
|
63
|
+
# Add the trace filter to the logger
|
64
|
+
trace_filter = TraceFilter(trace_id)
|
65
|
+
base_logger.addFilter(trace_filter)
|
66
|
+
|
67
|
+
# Add the update method to the standard logger
|
68
|
+
base_logger.update_trace_id = trace_filter.update_trace_id
|
69
|
+
|
70
|
+
return base_logger
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|