Você pode usar uma regra de regravação para corrigir o nome do programa da maneira que quiser:
rewrite r_brackets {
subst ("\((.+)\)", "$1", value (PROGRAM));
};
...
log { source (...); ....; rewrite (r_brackets); destination (...); ...; };
Usando o Ubuntu 10.04.4 LTS e o Squid3, eu quero registrar no syslog-ng
Editou /etc/squid3/squid.conf e adicionou a seguinte linha:
access_log syslog squid
Registros estão sendo escritos, mas o nome do programa "squid" está sendo adicionado entre colchetes, enquanto que para outros registros o nome do programa não é
Jul 25 17:26:23 ubuntuserver kernel:
Jul 25 17:26:24 ubuntuserver named[1231]:
Jul 25 16:17:56 ubuntuserver (squid):
Eu assumo que isso é squid3 dizendo ao syslog-ng "o nome do meu programa é (squid)" e não consigo encontrar nenhum lugar para configurar isso diferentemente, pois gostaria de remover os colchetes.
No conf do syslog-ng eu tive um play com a saída do log e a macro $ PROGRAM definitivamente contém os colchetes também, o que indica que é proveniente do squid como esta página indica o abaixo: link
PROGRAM: The name of the program sending the message. Note that the content of the $PROGRAM variable may not be completely trusted as it is provided by the client program that constructed the message.
Como posso remover os colchetes?
Você pode usar uma regra de regravação para corrigir o nome do programa da maneira que quiser:
rewrite r_brackets {
subst ("\((.+)\)", "$1", value (PROGRAM));
};
...
log { source (...); ....; rewrite (r_brackets); destination (...); ...; };
Tente seguir a postagem no fórum AQUI - descreve como configurar o Squid com o LogZilla usando o syslog-ng. No post, as configurações usadas estão enviando o nome do programa corretamente.