Skip to content

Summaw/aurora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Aurora

Beautiful, enterprise-grade console logging for Go.

Go Reference Go Report Card

Aurora is a zero-dependency logging library that makes your terminal output stunning. Features gradient-colored ASCII banners, structured logging with tree-style output, progress bars, spinners, tables, and more.

Installation

go get github.com/Summaw/aurora

Quick Start

package main

import "github.com/Summaw/aurora"

func main() {
    aurora.Banner("MYAPP").
        Gradient("cyberpunk").
        Tagline("My Application").
        Version("v1.0.0").
        Render()

    log := aurora.New()

    log.Info("Application started").Send()
    log.Success("Database connected").Str("host", "localhost").Send()
    log.Warn("High memory usage").Int("percent", 85).Send()
    log.Error("Connection failed").Err(err).Send()
}

Features

ASCII Art Banners

aurora.Banner("AURORA").
    Font("block").           // block, slant, minimal
    Gradient("cyberpunk").   // 20+ built-in gradients
    Tagline("My App").
    Version("v1.0.0").
    Border("rounded").       // rounded, sharp, double, heavy, ascii
    Render()

Structured Logging

log := aurora.New()

log.Info("Request completed").
    Str("method", "POST").
    Str("path", "/api/users").
    Int("status", 201).
    Dur("latency", time.Since(start)).
    Send()

Output:

  14:23:01.123  ● INFO  Request completed
                β”œβ”€ method: POST
                β”œβ”€ path: /api/users
                β”œβ”€ status: 201
                └─ latency: 23.45ms

Log Levels

log.Trace("Trace message")       // β—¦ gray
log.Debug("Debug message")       // ● dark gray
log.Info("Info message")         // ● blue
log.Success("Success message")   // βœ“ green
log.Warn("Warning message")      // ⚠ yellow
log.Error("Error message")       // βœ– red
log.Fatal("Fatal message")       // πŸ’€ bright red (exits)

Configuration

log := aurora.New(
    aurora.WithLevel(aurora.DebugLevel),
    aurora.WithCaller(true),
    aurora.WithJSON(true),  // JSON output for production
)

UI Components

Tables

aurora.Table(
    []string{"Service", "Status", "Latency"},
    [][]string{
        {"api", "● Healthy", "12ms"},
        {"db", "● Healthy", "3ms"},
    },
).Gradient("mint").Render()

Progress Bars

bar := aurora.Progress("Downloading", 100)
for i := 0; i <= 100; i++ {
    bar.Set(i)
    time.Sleep(50 * time.Millisecond)
}
bar.Done()

Spinners

spin := aurora.Spin("Connecting...")
// ... work ...
spin.Success("Connected!")

Dividers & Key-Value Display

aurora.Divider("Configuration").Render()
aurora.KV(map[string]any{
    "Environment": "production",
    "Version": "1.0.0",
}).Render()

Built-in Gradients

aurora, sunset, ocean, neon, cyberpunk, miami, fire, forest, galaxy, retro, mint, peach, lavender, gold, ice, blood, matrix, vaporwave, rainbow, terminal, rose, sky

Custom Gradients

aurora.Banner("APP").GradientRGB(
    aurora.RGB(255, 0, 128),
    aurora.RGB(0, 255, 255),
).Render()

aurora.Banner("APP").GradientMulti(
    "#ff0000", "#ff7f00", "#ffff00", "#00ff00",
).Render()

Project Structure

aurora/
β”œβ”€β”€ aurora.go           # Main public API
β”œβ”€β”€ logger.go           # Logger implementation
β”œβ”€β”€ entry.go            # Entry/field chaining
β”œβ”€β”€ level.go            # Log levels
β”œβ”€β”€ config.go           # Configuration
β”œβ”€β”€ options.go          # Functional options
β”œβ”€β”€ pkg/
β”‚   β”œβ”€β”€ banner/         # ASCII banner system
β”‚   β”œβ”€β”€ color/          # Color & gradient engine
β”‚   └── style/          # UI components
β”œβ”€β”€ middleware/         # HTTP middleware
β”œβ”€β”€ docs/               # Documentation
└── _examples/          # Example code

License

MIT License - see LICENSE for details.

Media

_examples\basic

image

_examples\banner

image

_examples\server

image

⭐ Support Aurora

If Aurora makes your logs easier to read, debug, or demo:

  • ⭐ Star this repository to support the project

  • πŸ› Open an issue if you find a bug or have an idea

  • πŸ”§ Submit a PR β€” contributions are welcome

  • πŸ’¬ Share Aurora with your team or community

Every star helps Aurora grow and motivates future features πŸš€

About

🌈 Beautiful, zero-dependency console logging for Go β€” gradient ASCII banners, structured logging with tree output, progress bars, spinners, tables & more

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages