# # perl code to make a syslog entry. # # Param1: Programmname # Param2: LogLevel # Param3: Facility # festgelegt!Param4: LogOption # Param4: LogFormatstring # rest: LogFormatString-Parameter
perl_syslog() { /usr/bin/perl <<EOF use Sys::Syslog; # all except setlogsock, or: use Sys::Syslog qw(:DEFAULT setlogsock); # default set, plus setlogsock
# perl code to make a syslog entry.
#
# Param1: Programmname
# Param2: LogLevel
# Param3: Facility
# festgelegt!Param4: LogOption
# Param4: LogFormatstring
# rest: LogFormatString-Parameter
perl_syslog()
{
/usr/bin/perl <<EOF
use Sys::Syslog; # all except setlogsock, or:
use Sys::Syslog qw(:DEFAULT setlogsock); # default set, plus setlogsock
openlog "$1", LOG_PID, "$3";
syslog $2, "$4" ;#, @args;
\$oldmask = setlogmask \$mask_priority;
closelog;
EOF
}
ein aufruf sieht dann z.b. so aus:
perl_syslog "mica important Programma" LOG_INFO LOG_DAEMON "meine hoechst persoehnlich wichte Meldung"
Danke...;=)
hier meine version:
SYSLOG="YES"
VERBOSE="YES"
LOGGER="/usr/bin/logger"
FACILITY="Local1"
01: LOG()
02: {
03: PRIORITY=${1%%:*}
04: LOGMESSAGE="`basename '$0' '.${0##*.}'`[$$]:${1#*:}"
05: [ "$VERBOSE" = "YES" ] && echo "`date '+%b %e %H:%M:%S'`: $LOGMESSAGE"
06: [ "$SYSLOG" = "YES" ] && $LOGGER -p $FACILITY.$PRIORITY $LOGMESSAGE
07: }
aufruf genauso wie original
man könnte allerdings die facility und die priorität in extra parameter fassen ..............
und außerdem die tests auch mit einer case anweisung dazu bringen groß und kleinschreibung sowie englisch und deutsch zu verstehen
grüße
MfG Tim Stone
wie kann ich denn mit KDE/QT/C++ Code die /var/log/messages mitlesen (bei entsprechenden Rechten)...hab da ein paar Probleme...
Dankeschön!
man 3 syslog
sollte weiterhelfen
Gruß Markus
tail -f /var/log/messages
Ausser du arbeitest immer als User root.. :)
Dann geht das natürlich..