/etc/syslog.conf를 열어서 설정을 한다.
설정은 udp(port:514)로 들어오는 패킷들을 분류하여 저장 장소를 설정할 수 있다.
syslog udp 문법은 "<번호>메세지" 형태이고 번호가 분류 기준이 된다.
syslog level은 다음과 같다.
emerg <0>, alert <1>, crit <2>, err <3>, warn <4>, notice <5>, info <6>, debug <7>
reserved facility는 Local0~7까지 있다.
local0<128>, local1<136> , local2<144>, local3<152>, local4<160>....
이미 감을 잠은 분들도 있겠지만 분류는 facility.level로 이루어진다. 이 정보는 1byte에 저장되어
앞의 5bit가 facility 뒤의 3bit가 level이 된다.
local1 = 136<0x10001000> 이고 err = 3<0x00000011>이다 그래서 local1.emerg 분류의 번호는 139 이된다.
udp 패킷이 "<136>msg" 내용을 담아오면 syslog는 local1.emerg의 분류 장소로 보내어진다.
facility는 Local이외에 user, kern 등 여러가지가 있다.
위의 정보를 이용하면 user defined level을 만들어 사용할 수 있다.
설정시에 아래와 같이 설정하면
local1.=debug /var/log/log_debug
loca1.info /var/log/log_info.log
*.emerg *
facility가 local1이고 level이 debug인 정보만 /var/log/log_debug.log에 저장되고,
facility가 local1이고 level이 info이상인 정보는 모두 /var/log/log_info.log에 저장된다.
facility는 상관없이 level이 emerg인 정보는 모든 출력 장소에 출력한다.
자세한 정보는 syslog man 페이지를 참조!!!
설정후 syslog데몬을 키면 설정 끝!!!