■rsyslogのプライオリティ値リストを作成してみる。 $ apt-cache show rsyslog | grep Ver Version: 8.24.0-1 ■ソースのダウンロード $ apt-get source --download-only rsyslog $ tar zxvf rsyslog_8.24.0.orig.tar.gz $ cd rsyslog-8.24.0/ ■3ビット左シフトなので、8倍(2^3)すれば良い。 $ grep -A 33 LOG_EMERG ./runtime/rsyslog.h | awk '/LOG_/{gsub("LOG_","",$2);print $3"\t"$2}' |tr '[A-Z]' '[a-z]' 0 emerg 1 alert 2 crit 3 err 4 warning 5 notice 6 info 7 debug (0<<3) kern (1<<3) user (2<<3) mail (3<<3) daemon (4<<3) auth (5<<3) syslog (6<<3) lpr (7<<3) news (8<<3) uucp (9<<3) cron (10<<3) authpriv (11<<3) ftp (12<<3) aso (15<<3) caa (16<<3) local0 (17<<3) local1 (18<<3) local2 (19<<3) local3 (20<<3) local4 (21<<3) local5 (22<<3) local6 (23<<3) local7 24 fac_invld ■ということで以下の並びとなる。 注意点としてはkernの0とemergの0を区別するために3桁になること。 $ grep -A 33 LOG_EMERG ./runtime/rsyslog.h | \ awk '/LOG_/{gsub("LOG_","",$2);print $3"\t"$2}' | \ tr '[A-Z]' '[a-z]' | sed -e 's/<<3)//' -e 's/(/_ /' | \ awk '!/24/{if($1=="_"){printf "echo \"%03d\t%s\" >> Severity.list\n",$2*8,$3} \ else{print "echo \""$1"\t"$2"\" >> Facility.list"}}' | sh ■Facilityが8種類なので計176種類の優先度が指定出来る。 $ echo -e $(wc -l Severity.list ;echo "\n";wc -l Facility.list) | awk 'BEGIN{a=1}{a=$1*a;print $0}END{print a}' 22 Severity.list 8 Facility.list 176 $ for m in $(awk '{print $1}' Severity.list );do \ for n in $(awk '{print $1}' Facility.list);do \ echo "$m $n" | awk '{print $1+$2}'; \ done; \ done | nl | awk 'END{print $1,$1/8}' 176 22 ■組み合わせは176種類 $ for m in $(awk '{print $1}' Severity.list );do \ for n in $(awk '{print $1}' Facility.list);do \ echo "$m $n" | awk '{print $1+$2}'; \ done; \ done | awk '{printf "echo %d $(grep %03d Severity.list;grep %d Facility.list)\n",$1,int($1/8)*8,$1%8}' | sh | \ awk '{print "<"$1">",$2,$3,$4,$5}' > Priority.list ■以下のように調べる。 $ awk '/local4/&&/info/' Priority.list <166> 160 local4 6 info $ awk '/local4/&&/info/{printf "%s %d(%d) %s %d %s\n",$1,int($2/8),$2,$3,$4,$5}' Priority.list <166> 20(160) local4 6 info $ grep 160 Severity.list 160 local4 $ grep 6 Facility.list 6 info ■一覧は以下。 $ cat Priority.list <0> 000 kern 0 emerg <1> 000 kern 1 alert <2> 000 kern 2 crit <3> 000 kern 3 err <4> 000 kern 4 warning <5> 000 kern 5 notice <6> 000 kern 6 info <7> 000 kern 7 debug <8> 008 user 0 emerg <9> 008 user 1 alert <10> 008 user 2 crit <11> 008 user 3 err <12> 008 user 4 warning <13> 008 user 5 notice <14> 008 user 6 info <15> 008 user 7 debug <16> 016 mail 0 emerg <17> 016 mail 1 alert <18> 016 mail 2 crit <19> 016 mail 3 err <20> 016 mail 4 warning <21> 016 mail 5 notice <22> 016 mail 6 info <23> 016 mail 7 debug <24> 024 daemon 0 emerg <25> 024 daemon 1 alert <26> 024 daemon 2 crit <27> 024 daemon 3 err <28> 024 daemon 4 warning <29> 024 daemon 5 notice <30> 024 daemon 6 info <31> 024 daemon 7 debug <32> 032 auth 0 emerg <33> 032 auth 1 alert <34> 032 auth 2 crit <35> 032 auth 3 err <36> 032 auth 4 warning <37> 032 auth 5 notice <38> 032 auth 6 info <39> 032 auth 7 debug <40> 040 syslog 0 emerg <41> 040 syslog 1 alert <42> 040 syslog 2 crit <43> 040 syslog 3 err <44> 040 syslog 4 warning <45> 040 syslog 5 notice <46> 040 syslog 6 info <47> 040 syslog 7 debug <48> 048 lpr 0 emerg <49> 048 lpr 1 alert <50> 048 lpr 2 crit <51> 048 lpr 3 err <52> 048 lpr 4 warning <53> 048 lpr 5 notice <54> 048 lpr 6 info <55> 048 lpr 7 debug <56> 056 news 0 emerg <57> 056 news 1 alert <58> 056 news 2 crit <59> 056 news 3 err <60> 056 news 4 warning <61> 056 news 5 notice <62> 056 news 6 info <63> 056 news 7 debug <64> 064 uucp 0 emerg <65> 064 uucp 1 alert <66> 064 uucp 2 crit <67> 064 uucp 3 err <68> 064 uucp 4 warning <69> 064 uucp 5 notice <70> 064 uucp 6 info <71> 064 uucp 7 debug <72> 072 cron 0 emerg <73> 072 cron 1 alert <74> 072 cron 2 crit <75> 072 cron 3 err <76> 072 cron 4 warning <77> 072 cron 5 notice <78> 072 cron 6 info <79> 072 cron 7 debug <80> 080 authpriv 0 emerg <81> 080 authpriv 1 alert <82> 080 authpriv 2 crit <83> 080 authpriv 3 err <84> 080 authpriv 4 warning <85> 080 authpriv 5 notice <86> 080 authpriv 6 info <87> 080 authpriv 7 debug <88> 088 ftp 0 emerg <89> 088 ftp 1 alert <90> 088 ftp 2 crit <91> 088 ftp 3 err <92> 088 ftp 4 warning <93> 088 ftp 5 notice <94> 088 ftp 6 info <95> 088 ftp 7 debug <96> 096 aso 0 emerg <97> 096 aso 1 alert <98> 096 aso 2 crit <99> 096 aso 3 err <100> 096 aso 4 warning <101> 096 aso 5 notice <102> 096 aso 6 info <103> 096 aso 7 debug <120> 120 caa 0 emerg <121> 120 caa 1 alert <122> 120 caa 2 crit <123> 120 caa 3 err <124> 120 caa 4 warning <125> 120 caa 5 notice <126> 120 caa 6 info <127> 120 caa 7 debug <128> 128 local0 0 emerg <129> 128 local0 1 alert <130> 128 local0 2 crit <131> 128 local0 3 err <132> 128 local0 4 warning <133> 128 local0 5 notice <134> 128 local0 6 info <135> 128 local0 7 debug <136> 136 local1 0 emerg <137> 136 local1 1 alert <138> 136 local1 2 crit <139> 136 local1 3 err <140> 136 local1 4 warning <141> 136 local1 5 notice <142> 136 local1 6 info <143> 136 local1 7 debug <144> 144 local2 0 emerg <145> 144 local2 1 alert <146> 144 local2 2 crit <147> 144 local2 3 err <148> 144 local2 4 warning <149> 144 local2 5 notice <150> 144 local2 6 info <151> 144 local2 7 debug <152> 152 local3 0 emerg <153> 152 local3 1 alert <154> 152 local3 2 crit <155> 152 local3 3 err <156> 152 local3 4 warning <157> 152 local3 5 notice <158> 152 local3 6 info <159> 152 local3 7 debug <160> 160 local4 0 emerg <161> 160 local4 1 alert <162> 160 local4 2 crit <163> 160 local4 3 err <164> 160 local4 4 warning <165> 160 local4 5 notice <166> 160 local4 6 info <167> 160 local4 7 debug <168> 168 local5 0 emerg <169> 168 local5 1 alert <170> 168 local5 2 crit <171> 168 local5 3 err <172> 168 local5 4 warning <173> 168 local5 5 notice <174> 168 local5 6 info <175> 168 local5 7 debug <176> 176 local6 0 emerg <177> 176 local6 1 alert <178> 176 local6 2 crit <179> 176 local6 3 err <180> 176 local6 4 warning <181> 176 local6 5 notice <182> 176 local6 6 info <183> 176 local6 7 debug <184> 184 local7 0 emerg <185> 184 local7 1 alert <186> 184 local7 2 crit <187> 184 local7 3 err <188> 184 local7 4 warning <189> 184 local7 5 notice <190> 184 local7 6 info <191> 184 local7 7 debug