Skip to content

Instantly share code, notes, and snippets.

@mdub
Created May 1, 2013 01:25
Show Gist options
  • Save mdub/5493185 to your computer and use it in GitHub Desktop.
Save mdub/5493185 to your computer and use it in GitHub Desktop.
Redirect STDOUT and STDERR into syslog, using "logger", and bash process substitution
# Redirect STDOUT/STDERR into syslog
exec > >(logger -p user.info) 2> >(logger -p user.warn)
@spieden
Copy link

spieden commented Mar 24, 2017

@shribe Thank you! Exactly what I needed.

@oliver
Copy link

oliver commented Jun 19, 2018

If you add another "exec " in front of the logger call, you avoid one additional Bash process staying alive all the time (you can see it with pstree). Like this:

exec > >(exec logger -p user.info) 2> >(logger -p user.warn)

@mpdude: the entire concept only works with bash (not with sh), since it uses "Process Substitution" which is a Bash-only feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment