2017-12-04 6 views

답변

0

mi 문제를 해결할 수있는 방법을 찾았습니다.

parser p_apache { 
    csv-parser(columns("MY.ALGO", "MY.MOSTRAR", "MY.OTRA") 
     delimiters("|") 
     ); 
}; 

destination d_file { 
    file("/var/log/syslog-ng/$YEAR-$MONTH/$DAY/messages-${MY.ALGO:-nouser}.log"); 
}; 
0

특정 메시지를 필터링하려면 syslog-ng의 필터 식을 사용할 수 있습니다. 필터에서 정규 표현식을 사용할 수도 있습니다. 은 파일 이름에 경기의 결과를 사용하려면 필터 식에 명명 된 패턴을 사용해보십시오 :

destination d_file { 
    file ("/var/log/${name}.log"); 
}; 

것은 나에게 보자

filter f_myfilter {message("(?<name>pattern)");}; 

는 그런 다음 대상 템플릿의 이름이 일치를 사용할 수 있습니다 그것이 작동하는지 알기 위해, 나는 그것을 시험 할 시간이 없었다.

+0

이 줄 메시지 ("(? [* name *] pattern)"을 사용하여 내 previus 구성을 바꿉니다. 하지만 필터 표현을 파싱하는 중 오류가 발생합니다. – Rys

+0

명명 된 패턴은 다시 쓰기 규칙에서만 지원 될 수 있습니다. 언젠가 이것을 확인하려고 노력할 것입니다. –

관련 문제