#!/bin/sh # set pnp4nagios log levels for several components, # all at one time. npcdcfg=@pkgsysconfdir@/npcd.cfg ppcfg=@pkgsysconfdir@/process_perfdata.cfg kohcfg=@datarootdir@/application/config/config.php # setloglev (npcd_level) (process_perfdata_level) (php level) setloglev () { sed -i "/^ *log_level *=/s/= *-*[0-9]/= $1/" $npcdcfg sed -i "/^ *LOG_LEVEL *=/s/= *[0-9]/= $2/" $ppcfg sed -i "/^ *\$config\['log_threshold'\]/s/= *[0-9]/= $3/" $kohcfg if [ "@init_type@" = "systemd" -o "@init_type@" = "sysv" ] then if service npcd status >/dev/null 2>/dev/null then service npcd restart fi else echo "if you run npcd, restart it" fi } case "$1" in "" ) echo -n "npcd.cfg: " grep '^ *log_level *=' $npcdcfg echo -n "process_perfdata.cfg: " grep '^ *LOG_LEVEL' $ppcfg echo -n "share/application/config/config.php: " grep log_threshold $kohcfg ;; -* ) echo "$0: usage" echo "$0 with no parameters: show current levels" echo "$0 0|off turn off logging" echo "$0 1|err errors only" echo "$0 2|warn warnings and errors" echo "$0 3|debug debugging" echo "not all components have the same levels," echo "but 'off' and 'debug' are well matched" echo "" echo "the three files affected are: " echo "$npcdcfg" echo "$ppcfg" echo "$kohcfg" ;; 0 | off | OFF ) setloglev 0 0 0 ;; 1 | err* ) setloglev 1 1 1 ;; 2 | warn* ) setloglev 2 2 2 ;; 3 | deb* ) setloglev -1 3 4 ;; * ) echo "unknown argument, try $0 --help" ;; esac exit 0