Skip to content

feat: output the runtime log to the log file#214

Merged
chlins merged 1 commit into
mainfrom
feat/log
Jun 24, 2025
Merged

feat: output the runtime log to the log file#214
chlins merged 1 commit into
mainfrom
feat/log

Conversation

@chlins

@chlins chlins commented Jun 24, 2025

Copy link
Copy Markdown
Member

This pull request introduces logging enhancements across multiple modules in the codebase, using the logrus library for structured logging. It also adds configuration options for log directory and log level in the CLI tool. Below are the most important changes grouped by theme:

Logging Enhancements

  • Integrated logrus for structured logging in various modules, including attach, build, extract, fetch, inspect, and list. Added detailed log statements to track the flow of operations, such as file attachments, model artifact building, and layer extraction. [1] [2] [3] [4] [5] [6]
  • Added logging for key steps in the backend processes, such as calculating digests, extracting layers, and fetching blobs. This helps in debugging and understanding the execution flow. [1] [2] [3]

CLI Improvements

  • Introduced new CLI flags --log-dir and --log-level to configure the logging behavior of the CLI tool. These options allow users to specify the directory for log files and the desired log verbosity.
  • Ensured that the log directory exists and the log file is properly initialized before setting up logging. Added a PersistentPostRunE hook to close the log file after command execution.

Codebase Updates

  • Updated cmd/root.go to include logrus setup, including setting the log level, output file, and formatter. This centralizes logging configuration for the CLI.
  • Imported logrus in all relevant files to enable logging in backend operations. [1] [2] [3] [4] [5] [6]

@chlins chlins added the enhancement New feature or request label Jun 24, 2025

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @chlins, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces comprehensive logging capabilities to the modctl tool, enhancing its debuggability and providing better insights into its operation. It leverages the logrus library for structured logging and offers CLI configuration options for log directory and level.

Highlights

  • Logging Integration: Integrated logrus for structured logging across multiple modules including attach, build, extract, fetch, inspect, and list.
  • CLI Configuration: Introduced new CLI flags --log-dir and --log-level to configure the logging behavior of the CLI tool.
  • Centralized Logging Setup: Updated cmd/root.go to include logrus setup, centralizing logging configuration for the CLI, including setting the log level, output file, and formatter.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces logging enhancements across multiple modules using logrus. The CLI flags for log configuration and the centralized setup in cmd/root.go are well-implemented. The review focuses on improving the quality and security of the log messages, suggesting to avoid logging entire objects to prevent verbosity and potential exposure of sensitive information.

Comment thread pkg/backend/attach.go
Comment thread pkg/backend/build.go
Comment thread pkg/backend/extract.go
Comment thread pkg/backend/list.go
Comment thread pkg/config/root.go Outdated
Signed-off-by: chlins <chlins.zhang@gmail.com>

@gaius-qi gaius-qi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@chlins chlins merged commit b908218 into main Jun 24, 2025
5 checks passed
@chlins chlins deleted the feat/log branch June 24, 2025 04:32
SAY-5 added a commit to SAY-5/modctl that referenced this pull request May 2, 2026
Signed-off-by: SAY-5 <say.apm35@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants