Vous n'êtes pas identifié(e).
Bonjour,
J'ai une question un peu candide sur l'activation/désactivation des logs d'un serveur postgresql v9.1 (installé via les packages backports debian)
Jusqu'à présent j'avais fait deux fichiers de configuration, l'une ou j'active les logs et l'autre ou ces derniers sont disablés. Je jongle entre les deux configurations lorsque je veux faire tourner un pgfouine sur mes logs
Voici les parties qui différent
conf avec activation des logs:
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d-%H.log'
log_rotation_age = 60
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = on
log_error_verbosity = default
log_hostname = on
log_line_prefix = '%t [%p]: [%l-1] '
log_statement = 'all'
conf avec désactivation des logs:
log_destination = 'stderr'
logging_collector = off
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d-%H.log'
log_rotation_age = 60
log_checkpoints = off
log_connections = off
log_disconnections = off
log_duration = off
log_error_verbosity = default
log_hostname = off
log_line_prefix = '%t [%p]: [%l-1] '
log_statement = 'none'
Tout ceci fonctionne bien sauf que je ne peux activer/désactiver mes logs sans faire un restart alors que j'aimerai juste faire un reload à cause du logging_collector qui nécessite un restart du service.
Je voulais donc savoir s'il y avait un best practice sur ce sujet, car une idée bien moche m'est venue à l'idée à savoir d'avoir une conf avec désactivation des logs comme suit:
log_destination = 'stderr'
logging_collector = on # on active le logging_collector
log_directory = 'pg_log'
log_filename = 'postgresql-no_log' # et en fait pg_log/postgresql-no_log est un symlink vers /dev/null
log_rotation_age = 0 # on desactive la rotation des logs
log_checkpoints = off
log_connections = off
log_disconnections = off
log_duration = off
log_error_verbosity = default
log_hostname = off
log_line_prefix = '%t [%p]: [%l-1] '
log_statement = 'none'
Ainsi quand je jongle entre mes confs je ne restart jamais le service vu que logging_collector sera toujours "on" mais dans un cas j'écris dans un vrai fichier alors que dans le second je redirige tout vers /dev/null... ça me paraît trop laid et j'imagine que je suis passé à côté de qqchose, donc si vous avez une piste je suis preneur!
Merci d'avance
Hors ligne
le logging_collector à off, c'est juste pour ne plus avoir de logs ?
Marc.
Hors ligne
oui tout à fait (à tort sûrement)
Hors ligne
Pourquoi ne pas simplement passer le log_statement de all à none ? ça désactivera 99,9% des messages de la log, ce qui devrait être suffisant. Et marchera avec un reload.
La log sert aussi en temps normal, à avoir des traces si quelque chose plante par exemple…
Marc.
Hors ligne
oui tu as raison c'est pas malin ce que je voulais faire. Ta porposition est plus sage et ça m'évitera de passer à côté de qqchose
merci pour tout
edit: car le francais que j'ai utilisé m'a piqué les yeux
Dernière modification par ebs (08/11/2011 18:15:12)
Hors ligne