Difference between revisions of "Log vanuit script"

From PostgreSQL_wiki
Jump to: navigation, search
(Uitvoer in de log)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Uitgebreid loggen vanuit script =
 
= 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.
+
Binnen Webhuis 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:
 
Voeg in de eerste van het script met logging toe:
Line 9: Line 9:
 
</pre>
 
</pre>
 
== logging.sh ==
 
== logging.sh ==
  +
Het logging script verzorgt de gestandaardiseerde aansturing van het loggen vanuit het aanroepende script.
 
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
  +
  +
# Uitgebracht onder GPL2
  +
# http://webhuis.nl/index.php?option=com_docman&task=doc_download&gid=8&Itemid=54
  +
  +
#<----->functie voor het getandaardiseerd loggen vanuit aanroepende scripts
  +
#<----->Het aanroepende script "sourced" het logging script"
 
LOG_FACILITY="local7.notice"
 
LOG_FACILITY="local7.notice"
  +
LOG_ERR="local7.err"
 
LOG_TOPIC=${script_name}
 
LOG_TOPIC=${script_name}
 
LOG_TOPIC_OUT="$LOG_TOPIC-out[$$]"
 
LOG_TOPIC_OUT="$LOG_TOPIC-out[$$]"
Line 18: Line 25:
   
 
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_ERR" -t "$LOG_TOPIC_ERR" )
 
</pre>
 
</pre>
  +
 
== Uitvoer in de log ==
 
== Uitvoer in de log ==
 
De uitvoer bevat een geprovoceerde foutmelding - rm van een niet bestaand bestand - en een uitvoermelding.
 
De uitvoer bevat een geprovoceerde foutmelding - rm van een niet bestaand bestand - en een uitvoermelding.
 
<pre>
 
<pre>
Feb 8 21:33:45 uwork-server naam-van-het-script-err[18573]: rm: cannot remove `/var/aap/noot/mies': No such file or directory
+
Feb 8 21:33:45 Webhuis-server naam-van-het-script-err[18573]: rm: cannot remove `/var/aap/noot/mies': No such file or directory
Feb 8 21:33:45 uwork-server naam-van-het-script-out[18573]: /usr/local/bin
+
Feb 8 21:33:45 Webhuis-server naam-van-het-script-out[18573]: /usr/local/bin
 
</pre>
 
</pre>
 
<hr/>
 
<hr/>
Terug naar: [[Uwork Support Infrastructuur]]
+
Terug naar: [[Webhuis Support Infrastructuur]]

Latest revision as of 15:04, 24 July 2010

Uitgebreid loggen vanuit script

Binnen Webhuis 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="naam-van-het-script"
. /usr/local/bin/logging.sh ${script_name}

logging.sh

Het logging script verzorgt de gestandaardiseerde aansturing van het loggen vanuit het aanroepende script.

#!/bin/bash

#	Uitgebracht onder GPL2
#	http://webhuis.nl/index.php?option=com_docman&task=doc_download&gid=8&Itemid=54

#<----->functie voor het getandaardiseerd loggen vanuit aanroepende scripts
#<----->Het aanroepende script "sourced" het logging script"
LOG_FACILITY="local7.notice"
LOG_ERR="local7.err"
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_ERR" -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 Webhuis-server naam-van-het-script-err[18573]: rm: cannot remove `/var/aap/noot/mies': No such file or directory
Feb  8 21:33:45 Webhuis-server naam-van-het-script-out[18573]: /usr/local/bin

Terug naar: Webhuis Support Infrastructuur