Existe uma maneira de reescrever partes de uma mensagem globalmente em vez de inserir reescrita em todos os caminhos de log?

0

Eu preciso escapar \ n da mensagem. Eu posso fazer isso com " rewrite ", mas o problema é que eu tenho muitos caminhos de log e eu não quero especificar " rewrite " em todos os caminhos de log. Existe uma maneira global de definir uma reescrita?

# Escape the new line characters
rewrite r_escape_new_line {subst("\n", "#012", value("MSG"), flags("global"));};
log { source(s_system); filter(f_critical); rewrite(r_escape_new_line); destination(d_critical); };
log { source(s_system); filter(f_error); rewrite(r_escape_new_line); destination(d_error); };
log { source(s_system); filter(f_warning); rewrite(r_escape_new_line); destination(d_warning); };
    
por Umut 19.10.2016 / 11:53

1 resposta

1

Tente adicionar a opção de sinalizadores (sem várias linhas) à sua definição de origem, como:

source s_src {
   system(flags(no-multi-line));
   internal();

};

Se isso não funcionar, você poderá incorporar a reconfiguração na definição de origem usando um canal. O syslog -ng guia do administrador tem um exemplo semelhante, você só tem que substituir o analisador com a reescrita.

HTH.

    
por 19.10.2016 / 16:47

Tags