Difference between revisions of "Log vanuit script"
Line 1: | Line 1: | ||
+ | = Uitgebreid loggen vanuit script = |
||
+ | Binnen Uwork zijn vele scripts in gebruik die allerdaagse taken uitvoeren. Logging vanuit scripts zorgt ervoor dat het verloop van het proces in die scripts in de syslog en daarmee eveneens in de log van de centrale syslog-ng server terecht komt. |
||
+ | |||
+ | Voeg in de eerste van het script met logging toe: |
||
+ | <pre> |
||
+ | #!/bin/bash |
||
+ | export script_name="test-logger" |
||
+ | . /usr/local/bin/logging.sh ${script_name} |
||
+ | </pre> |
||
+ | == logging.sh == |
||
+ | |||
<pre> |
<pre> |
||
#!/bin/bash |
#!/bin/bash |
||
LOG_FACILITY="local7.notice" |
LOG_FACILITY="local7.notice" |
||
− | LOG_TOPIC= |
+ | LOG_TOPIC=${script_name} |
LOG_TOPIC_OUT="$LOG_TOPIC-out[$$]" |
LOG_TOPIC_OUT="$LOG_TOPIC-out[$$]" |
||
LOG_TOPIC_ERR="$LOG_TOPIC-err[$$]" |
LOG_TOPIC_ERR="$LOG_TOPIC-err[$$]" |
||
Line 8: | Line 19: | ||
exec 3>&1 > >(tee -a /dev/fd/3 | logger -p "$LOG_FACILITY" -t "$LOG_TOPIC_OUT" ) |
exec 3>&1 > >(tee -a /dev/fd/3 | logger -p "$LOG_FACILITY" -t "$LOG_TOPIC_OUT" ) |
||
exec 2> >(logger -p "$LOG_FACILITY" -t "$LOG_TOPIC_ERR" ) |
exec 2> >(logger -p "$LOG_FACILITY" -t "$LOG_TOPIC_ERR" ) |
||
+ | </pre> |
||
+ | == Uitvoer in de log == |
||
+ | De uitvoer bevat een geprovoceerde foutmelding - rm van een niet bestaand bestand - en een uitvoermelding. |
||
+ | <pre> |
||
+ | Feb 8 21:33:45 zarafa test-logger-err[18573]: rm: cannot remove `/var/aap/noot/mies': No such file or directory |
||
+ | Feb 8 21:33:45 zarafa test-logger-out[18573]: /usr/local/bin |
||
</pre> |
</pre> |
Revision as of 20:50, 8 February 2010
Uitgebreid loggen vanuit script
Binnen Uwork zijn vele scripts in gebruik die allerdaagse taken uitvoeren. Logging vanuit scripts zorgt ervoor dat het verloop van het proces in die scripts in de syslog en daarmee eveneens in de log van de centrale syslog-ng server terecht komt.
Voeg in de eerste van het script met logging toe:
#!/bin/bash export script_name="test-logger" . /usr/local/bin/logging.sh ${script_name}
logging.sh
#!/bin/bash LOG_FACILITY="local7.notice" LOG_TOPIC=${script_name} LOG_TOPIC_OUT="$LOG_TOPIC-out[$$]" LOG_TOPIC_ERR="$LOG_TOPIC-err[$$]" exec 3>&1 > >(tee -a /dev/fd/3 | logger -p "$LOG_FACILITY" -t "$LOG_TOPIC_OUT" ) exec 2> >(logger -p "$LOG_FACILITY" -t "$LOG_TOPIC_ERR" )
Uitvoer in de log
De uitvoer bevat een geprovoceerde foutmelding - rm van een niet bestaand bestand - en een uitvoermelding.
Feb 8 21:33:45 zarafa test-logger-err[18573]: rm: cannot remove `/var/aap/noot/mies': No such file or directory Feb 8 21:33:45 zarafa test-logger-out[18573]: /usr/local/bin