From dbfc07ccc1ce0d65c836109da58e09244c675450 Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Tue, 1 Apr 2025 15:54:51 -0500 Subject: [PATCH 1/6] Update logging configuration to use dynamic log level from settings --- pr_agent/servers/gitlab_webhook.py | 2 +- pr_agent/settings/configuration.toml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pr_agent/servers/gitlab_webhook.py b/pr_agent/servers/gitlab_webhook.py index 76739a96..098e16c7 100644 --- a/pr_agent/servers/gitlab_webhook.py +++ b/pr_agent/servers/gitlab_webhook.py @@ -19,7 +19,7 @@ from pr_agent.git_providers.utils import apply_repo_settings from pr_agent.log import LoggingFormat, get_logger, setup_logger from pr_agent.secret_providers import get_secret_provider -setup_logger(fmt=LoggingFormat.JSON, level="DEBUG") +setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "INFO")) router = APIRouter() secret_provider = get_secret_provider() if get_settings().get("CONFIG.SECRET_PROVIDER") else None diff --git a/pr_agent/settings/configuration.toml b/pr_agent/settings/configuration.toml index d5ddc95c..4213eab1 100644 --- a/pr_agent/settings/configuration.toml +++ b/pr_agent/settings/configuration.toml @@ -16,6 +16,8 @@ publish_output=true publish_output_progress=true verbosity_level=0 # 0,1,2 use_extra_bad_extensions=false +# Log +log_level="INFO" # Configurations use_wiki_settings_file=true use_repo_settings_file=true From 4fa2d821799f511a946273411dd814dc0d7fc22a Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Thu, 3 Apr 2025 14:07:10 -0500 Subject: [PATCH 2/6] Set default log level to DEBUG in configuration and logger setup --- pr_agent/servers/gitlab_webhook.py | 2 +- pr_agent/settings/configuration.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pr_agent/servers/gitlab_webhook.py b/pr_agent/servers/gitlab_webhook.py index 098e16c7..0aef933d 100644 --- a/pr_agent/servers/gitlab_webhook.py +++ b/pr_agent/servers/gitlab_webhook.py @@ -19,7 +19,7 @@ from pr_agent.git_providers.utils import apply_repo_settings from pr_agent.log import LoggingFormat, get_logger, setup_logger from pr_agent.secret_providers import get_secret_provider -setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "INFO")) +setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "DEBUG")) router = APIRouter() secret_provider = get_secret_provider() if get_settings().get("CONFIG.SECRET_PROVIDER") else None diff --git a/pr_agent/settings/configuration.toml b/pr_agent/settings/configuration.toml index 4213eab1..168ebc47 100644 --- a/pr_agent/settings/configuration.toml +++ b/pr_agent/settings/configuration.toml @@ -17,7 +17,7 @@ publish_output_progress=true verbosity_level=0 # 0,1,2 use_extra_bad_extensions=false # Log -log_level="INFO" +log_level="DEBUG" # Configurations use_wiki_settings_file=true use_repo_settings_file=true From db06a8e49ea07dde2851a6ea301a13654e52026c Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Thu, 3 Apr 2025 14:09:11 -0500 Subject: [PATCH 3/6] Update github logger setup to use dynamic log level from configuration --- pr_agent/servers/github_app.py | 2 +- pr_agent/servers/github_polling.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pr_agent/servers/github_app.py b/pr_agent/servers/github_app.py index 1e753a95..4576bd9d 100644 --- a/pr_agent/servers/github_app.py +++ b/pr_agent/servers/github_app.py @@ -24,7 +24,7 @@ from pr_agent.identity_providers.identity_provider import Eligibility from pr_agent.log import LoggingFormat, get_logger, setup_logger from pr_agent.servers.utils import DefaultDictWithTimeout, verify_signature -setup_logger(fmt=LoggingFormat.JSON, level="DEBUG") +setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "DEBUG")) base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) build_number_path = os.path.join(base_path, "build_number.txt") if os.path.exists(build_number_path): diff --git a/pr_agent/servers/github_polling.py b/pr_agent/servers/github_polling.py index d11b73f6..95f9d911 100644 --- a/pr_agent/servers/github_polling.py +++ b/pr_agent/servers/github_polling.py @@ -13,7 +13,7 @@ from pr_agent.config_loader import get_settings from pr_agent.git_providers import get_git_provider from pr_agent.log import LoggingFormat, get_logger, setup_logger -setup_logger(fmt=LoggingFormat.JSON, level="DEBUG") +setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "DEBUG")) NOTIFICATION_URL = "https://api.github.com/notifications" From 7987fd1be7fa8bc8711fec1d4773b1178a49227a Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Thu, 3 Apr 2025 14:10:11 -0500 Subject: [PATCH 4/6] Update bitbucket logger setup to use dynamic log level from configuration --- pr_agent/servers/bitbucket_app.py | 2 +- pr_agent/servers/bitbucket_server_webhook.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pr_agent/servers/bitbucket_app.py b/pr_agent/servers/bitbucket_app.py index 5d93f167..a641adeb 100644 --- a/pr_agent/servers/bitbucket_app.py +++ b/pr_agent/servers/bitbucket_app.py @@ -25,7 +25,7 @@ from pr_agent.identity_providers.identity_provider import Eligibility from pr_agent.log import LoggingFormat, get_logger, setup_logger from pr_agent.secret_providers import get_secret_provider -setup_logger(fmt=LoggingFormat.JSON, level="DEBUG") +setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "DEBUG")) router = APIRouter() secret_provider = get_secret_provider() if get_settings().get("CONFIG.SECRET_PROVIDER") else None diff --git a/pr_agent/servers/bitbucket_server_webhook.py b/pr_agent/servers/bitbucket_server_webhook.py index b3c59a67..873e931f 100644 --- a/pr_agent/servers/bitbucket_server_webhook.py +++ b/pr_agent/servers/bitbucket_server_webhook.py @@ -21,7 +21,7 @@ from pr_agent.git_providers.utils import apply_repo_settings from pr_agent.log import LoggingFormat, get_logger, setup_logger from pr_agent.servers.utils import verify_signature -setup_logger(fmt=LoggingFormat.JSON, level="DEBUG") +setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "DEBUG")) router = APIRouter() From b7b533ddf6f87d133ae7e74d7b51b97183abfd59 Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Thu, 3 Apr 2025 14:10:52 -0500 Subject: [PATCH 5/6] Update azuredevops logger setup to use dynamic log level from configuration --- pr_agent/servers/azuredevops_server_webhook.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pr_agent/servers/azuredevops_server_webhook.py b/pr_agent/servers/azuredevops_server_webhook.py index ce6e050b..bb97b839 100644 --- a/pr_agent/servers/azuredevops_server_webhook.py +++ b/pr_agent/servers/azuredevops_server_webhook.py @@ -25,7 +25,7 @@ from pr_agent.config_loader import get_settings from pr_agent.git_providers.utils import apply_repo_settings from pr_agent.log import LoggingFormat, get_logger, setup_logger -setup_logger(fmt=LoggingFormat.JSON, level="DEBUG") +setup_logger(fmt=LoggingFormat.JSON, level=get_settings().get("CONFIG.LOG_LEVEL", "DEBUG")) security = HTTPBasic() router = APIRouter() available_commands_rgx = re.compile(r"^\/(" + "|".join(command2class.keys()) + r")\s*") From 76b447a62a5bc0d93bef1e958d2025c10b187433 Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Thu, 3 Apr 2025 14:24:59 -0500 Subject: [PATCH 6/6] Add logging configuration details to usage guide --- docs/docs/usage-guide/additional_configurations.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/docs/usage-guide/additional_configurations.md b/docs/docs/usage-guide/additional_configurations.md index 810c95c8..c24cb777 100644 --- a/docs/docs/usage-guide/additional_configurations.md +++ b/docs/docs/usage-guide/additional_configurations.md @@ -139,6 +139,17 @@ user=""" ``` Note that the new prompt will need to generate an output compatible with the relevant [post-process function](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/tools/pr_description.py#L137). +## Log Level + +Qodo Merge allows you to control the verbosity of logging by using the `log_level` configuration parameter. This is particularly useful for troubleshooting and debugging issues with your PR workflows. + +``` +[config] +log_level = "DEBUG" # Options: "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL" +``` + +The default log level is "DEBUG", which provides detailed output of all operations. If you prefer less verbose logs, you can set higher log levels like "INFO" or "WARNING". + ## Integrating with Logging Observability Platforms Various logging observability tools can be used out-of-the box when using the default LiteLLM AI Handler. Simply configure the LiteLLM callback settings in `configuration.toml` and set environment variables according to the LiteLLM [documentation](https://docs.litellm.ai/docs/).