O problema ocorre devido ao egrep -w 'error|exception' . Este comando adiciona caracteres especiais antes e depois do padrão (por exemplo, erro ou exceção) para destacar esses padrões no resultado do grep.
É como Harald mencionou. O padrão 'ERROR' não coincidia com a declaração de saída do grep, pois o 'ERROR' entre as tags STATUS na saída do grep tinha alguns caracteres especiais adicionados a ele pelo -w flag.
Por isso, quando o resultado de egrep foi enviado para o comando grep -v , ele não conseguiu corresponder ao padrão.