• Stars
    star
    175
  • Rank 218,059 (Top 5 %)
  • Language
    Shell
  • License
    BSD 3-Clause "New...
  • Created almost 14 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

log4bash is an attempt to have better logging for Bash scripts (i.e. make logging in Bash suck less).

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.