ajouter une nouvelle fonction syslog

27

Je voudrais utiliser syslog pour enregistrer les messages provenant de mon site PHP. Ma question est - puis-je ajouter un nom d'installation personnalisé? Je sais qu'il existe des installations prédéfinies comme:

auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.

Et si je comprends bien, je pourrais utiliser les installations locales0 - locales6 pour cela.

Mais je pense juste que si je pouvais ajouter quelque chose comme ça à syslog:

mySiteName.* /var/log/mySiteName.log

Ce serait visuellement plus facile à comprendre pour les autres. Malheureusement, la ligne au-dessus entraîne:

rsyslogd-3000: unknown facility name "mySiteName"

Alors - existe-t-il un moyen d'utiliser un nom d'installation personnalisé?

Stann
la source

Réponses:

27

L' interface syslog n'autorise qu'un ensemble fixe de fonctionnalités, définies par des constantes dans /usr/include/sys/syslog.h. Les seules dispositions pour les installations personnalisées sont local0acceptées local7.

Ce que vous pouvez faire pour séparer les journaux de différents serveurs, c'est utiliser des filtres pour faire correspondre l'origine ou le texte de chaque message de journal. Rsyslog a des filtres assez puissants (lisez les propriétés disponibles pour la correspondance ).

Gilles 'SO- arrête d'être méchant'
la source
7

Ne s'applique pas exactement à la question mais, espérons-le, exemple utile pour les démons ne fournissant pas leur propre installation:

:programname, isequal, "uptimed" /var/log/uptimed.log
eMPee584
la source
2
De quelle implémentation syslog parlez-vous? (Ou est-ce standard?)
sr_
1
L'ajout de cette ligne à /etc/rsyslog.conf a fonctionné avec rsyslogd 8.4.2
ztk