Skip to content
log4bash is an attempt to have better logging for Bash scripts (i.e. make logging in Bash suck less).
Branch: master
Clone or download
fredpalmer Merge pull request #1 from domdorn/master
initialized variable LOG_DEBUG_COLOR in non-interactive-mode
Latest commit 578e125 Feb 17, 2014
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests On the day I was bbbbbborrrn ... the nurses stepped aside May 26, 2011
LICENSE
README.md Added github flavored markdown May 26, 2011
log4bash.sh initialized variable LOG_DEBUG_COLOR in non-interactive-mode Dec 14, 2013

README.md

log4bash

Let's face it - plain old echo just doesn't cut it. log4bash is an attempt to have better logging for Bash scripts (i.e. make logging in Bash suck less).

Contributors

Fred Palmer

Using log4bash

source the log4bash.sh script at the beginning of any Bash program.

    #!/usr/bin/env bash
    source log4bash.sh

    log "This is regular log message... log and log_info do the same thing";

    log_warning "Luke ... you turned off your targeting computer";
    log_info "I have you now!";
    log_success "You're all clear kid, now let's blow this thing and go home.";
    log_error "One thing's for sure, we're all gonna be a lot thinner.";

    # If you have figlet installed -- you'll see some big letters on the screen!
    log_captains "What was in the captain's toilet?";

    # If you have the "say" command (e.g. on a Mac)
    log_speak "Resistance is futile";

An Overview of log4bash

Colorized Output

Logging Levels

  • log_info

    Prints an "INFO" level message to stdout with the timestamp of the occurrence.

  • log_warning

    Prints a "WARNING" level message to stdout with the timestamp of the occurrence.

  • log_success

    Prints a "SUCCESS" level message to stdout with the timestamp of the occurrence.

  • log_error

    Prints an "ERROR" level message to stdout with the timestamp of the occurrence.

Special Logging Abilities

  • log_speak

    On the Mac platform this will use the say command to echo the command to the current audio output device.

  • log_captains

    If the figlet program is installed this will print out an ascii-art depiction of the phrase passed to the function.

  • log_campfire

    Posts a message to your campfire configured by setting the variables for CAMPFIRE_API_AUTH_TOKEN and CAMPFIRE_NOTIFICATION_URL.

Other Useful Tidbits

  • SCRIPT_ARGS

    A global array of all the arguments used to create run your script

  • SCRIPT_NAME

    The script name (sometimes tricky to get right depending on how one invokes a script).

  • SCRIPT_BASE_DIR

    The script's base directory which is not always the current working directory.

More to Come

Please add any feature requests to a ticket for this project.
You can’t perform that action at this time.