explaingit

jakewharton/hugo

Analysis updated 2026-07-10 · repo last pushed 2022-01-05

7,889JavaAudience · developerComplexity · 2/5DormantLicenseSetup · easy

TLDR

Hugo is an Android debugging tool that automatically logs method inputs, outputs, and execution time when you add a @DebugLog annotation, then strips all logging code from release builds so it has zero production impact.

Mindmap

mindmap
  root((Hugo))
    What it does
      Auto logs method calls
      Shows inputs outputs timing
      Debug only no release impact
    How it works
      Gradle plugin
      Compile time code stripping
      DebugLog annotation
    Use cases
      Reduce logging boilerplate
      Debug method behavior
      Toggle logs at runtime
    Tech stack
      Java
      Gradle
      Android
    Audience
      Android developers
      Debug heavy workflows
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add @DebugLog to any method and see its arguments, return value, and execution time in the logcat during debugging.

USE CASE 2

Keep debug annotations in source code permanently since the Gradle plugin strips them from release builds with zero performance impact.

USE CASE 3

Toggle logging on or off at runtime or via build settings without removing annotations from your code.

What is it built with?

JavaGradleAndroid

How does it compare?

jakewharton/hugokrahets/leetcode-bookyuanguangxin/leetcode
Stars7,8898,2897,489
LanguageJavaJavaJava
Last pushed2022-01-05
MaintenanceDormant
Setup difficultyeasyeasyeasy
Complexity2/51/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires an Android project with the Gradle build system, simply add the plugin and annotate methods.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Hugo is a tool for Android developers that automatically logs method calls during debugging. Instead of manually writing log statements to print out what arguments a method received, what it returned, and how long it took to run, you just add a small @DebugLog tag above the method. Hugo handles the rest. When your app runs in debug mode, any method marked with that tag will automatically print its inputs, outputs, and execution time to the log. The beauty is that this only happens in debug builds, when you ship a release version to users, the logging disappears entirely and the annotation leaves no trace in the compiled code. You can safely leave the tags in your source code without worrying about performance or leaking debug info in production. This is for Android developers who spend time debugging and want to cut down on the repetitive boilerplate of writing and removing log statements. If you've ever found yourself adding a print statement to check what value a method received, then deleting it before shipping, Hugo eliminates that cycle. You can also toggle the logging off temporarily through a build setting or flip it on and off while the app is running. The project is notably built as a Gradle plugin, which means it hooks into the standard Android build process to strip out the logging code at compile time for release builds. This approach is what makes it safe to keep the annotations in your codebase permanently, the build system guarantees they have zero impact on production.

Copy-paste prompts

Prompt 1
Show me how to apply the Hugo Gradle plugin to an Android project and annotate methods with @DebugLog so they log arguments, return values, and execution time in debug builds.
Prompt 2
Write a @DebugLog-annotated method and explain what Hugo will print to logcat when it runs, including how the output looks for different parameter and return types.
Prompt 3
Explain how Hugo strips @DebugLog annotations from release builds via its Gradle plugin and confirm there is no runtime overhead or trace left in production code.

Frequently asked questions

What is hugo?

Hugo is an Android debugging tool that automatically logs method inputs, outputs, and execution time when you add a @DebugLog annotation, then strips all logging code from release builds so it has zero production impact.

What language is hugo written in?

Mainly Java. The stack also includes Java, Gradle, Android.

Is hugo actively maintained?

Dormant — no commits in 2+ years (last push 2022-01-05).

What license does hugo use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is hugo to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is hugo for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.