Atualizando minha resposta depois de analisar isso mais.
Isso parece um limite com /usr/bin/logger
, que deve estar de acordo com os RFCs do syslog. O link diz:
The total length of the packet MUST be 1024 bytes or less.
Se você enviar mais de 1024 caracteres para o syslog por meio da linha de comando (fora do Apache), você terá esse mesmo limite.
Tenha em mente que o limite de 1024 caracteres provavelmente existe em outro lugar. Eu acho que o tamanho máximo para um HTTP GET é de 1024 caracteres, e parece que me lembro que algumas rotinas de biblioteca printf têm um limite de 1024 caracteres (há um alerta de segurança há alguns anos sobre o limite de 1024 caracteres em relação a alguns syslog / string utilitários de impressão, se bem me lembro). Então, parece que suas opções são:
3) Tente impedir que seus aplicativos HTTP gravem longas mensagens de log. Isso é mais fácil dizer então feito.
1) Recompile logger
e aumente este limite. Se fizer isso, lembre-se de que você está alterando um utilitário principal e isso pode resultar em um comportamento inesperado. Para atenuar isso, coloque este utilitário em / usr / local / bin ou / opt / bin. Não substitua /usr/bin/logger
.
2) Não envie do Apache para o syslog. Algo como o seguinte deve funcionar em torno do limite de 1024 caracteres, já que isso não usa syslog.
CustomLog logs/access_log
4) link usa sys::syslog
e parece para ser uma alternativa razoável para /usr/bin/logger
. Você precisa verificar sys :: syslog para esse mesmo limite de 1024 caracteres. É Perl e deve ser fácil de anular.
Resposta antiga:
Parece que esse limite pode ser ajustado no syslog-ng, de acordo com o link
syslog defaults to 1024 byte long messages, but this value is tunable in syslog-ng 1.5 where you can set it to a higher value.
options { log_msg_size(8192); };