Bonjour,
Suite à la correction des niveaux de log d’erreur faites par ce commit
Mon site sort plusieurs fois par jour des logs d’erreur de signature sur un job de calcul de cache d’article
spip_log('job signature invalide ' . var_export($row, true), 'queue.' . _LOG_ERREUR);
Le problème c’est que dans ce cas, $row contient le cache de l’article et son texte au format calculé par gzip_page. Je me retrouve donc avec beaucoup (beaucoup) de ligne contenant des caractères unicode dans les logs en prod.
D’abord ça surcharge vraiment les logs et rend complexe le fait de s’y retrouver seulement à l’oeil nu, d’autre part, un point qui me concerne plus, je fais régulièrement usage de grep à travers un script de parse de log pour voir ce qu’il se passe et ces caractères explosent mon script.
J’ai du mal à déterminer ce qui fait que je me retrouve avec des appels mal signés déjà, je suppose que cela vient du fait qu’on réinsère la ligne dans spip_jobs avec une signature obsolète dans schedule, mais je n’arrive pas à reproduire exactement le cas en local.
// la signature n’est pas recalculée (elle devient invalide, mais elle ne devrait plus servir)
sql_insertq('spip_jobs', array_merge($row, $update));
De ce que je constate, j’ai probablement eu ce comportement depuis longtemps, seulement je ne le voyais pas à cause du log mal configuré.
Je me demande si d’autres personnes constatent la même chose dans leur site ?
Je pense qu’il faudrait identifier la cause de cela et la corriger, mais je crois aussi que log $row en entier avec le texte complet d’un article est une mauvaise idée. Il faudrait être plus précis dans le log, qu’en pensez vous ?
merci