Content-type: text/html
Chaque règle consiste en deux champs, un champ sélecteur et un champ action. Ces deux champs sont séparés par un ou plusieurs espaces ou tabulations. Le champ sélecteur précise un modèle de facility et priorité correspondant à l'action précisée.
Les lignes commençant par un dièse («#») et les lignes vides sont ignorées.
Cette version de syslogd est capable de comprendre une syntaxe étendue. Une règle peut être divisée en plusieurs lignes si la ligne de départ se termine par un anti-slash («\»).
La facility est l'un des mots-clés suivants : auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (identique à auth), syslog, user, uucp et de local0 à local7. Le mot-clé security ne devrait plus être utilisé et mark est seulement destiné à un usage interne et ne devrait par conséquent pas être utilisé dans les applications. Cependant, vous pouvez avoir envie de préciser la redirection de ces messages ici. La facility identifie le sous-système qui produit le message, c'est-à-dire que tous les programmes de courriel journalisent avec la facility mail (LOG_MAIL) s'ils journalisent via syslog.
La priorité est l'un des mots-clés suivants, dans l'ordre croissant : debug, info, notice, warning, warn (identique à warning), err, error (identique à err), crit, alert, emerg, panic (identique à emerg). Les mots-clés error, warn et panic sont désapprouvés et ne devraient plus être utilisés. La priorité définit la sévérité du message.
Le comportement du syslogd original BSD est que tous les messages de la priorité précisée et au-dessus sont journalisés conformément à l'action donnée. Ce syslogd(8) se comporte de même, mais possède quelques extensions.
En plus des noms mentionnés ci-dessus, syslogd(8) comprend les extensions suivantes : un astérisque («*») remplace toutes les facility et toutes les priorités, en fonction de l'endroit où il est utilisé (avant ou après le point). Le mot-clé none signifie aucune priorité de la facility donnée.
Vous pouvez préciser de multiples facility avec le même modèle de priorité dans une seule déclaration en utilisant l'opérateur virgule («,»). Vous pouvez préciser autant de facility que vous le souhaitez. Rappelez-vous que seule la partie facility d'une telle déclaration sera considérée, toute partie priorité sera omise [NdT : en dehors du modèle de priorité en fin de sélecteur].
De multiples sélecteurs peuvent être précisés pour une unique action en utilisant le séparateur point-virgule («;»). Rappelez-vous que chaque sélecteur dans le champ selector est capable d'outrepasser les précédents. En utilisant cette méthode vous pouvez exclure des priorités du modèle.
Ce syslogd(8) dispose d'une extension de syntaxe par rapport au source original BSD, qui rend son utilisation plus intuitive. Vous pouvez précéder chaque priorité avec le signe égal («=») pour préciser cette priorité unique et non celles au-dessus. Vous pouvez aussi (les deux sont valides aussi) précéder la priorité avec un point d'exclamation («!») pour ignorer cette priorité, soit exactement celle-ci, soit celle-ci et celles au-dessus. Si vous utilisez les deux extensions, le point d'exclamation doit apparaître avant le signe égal, de façon intuitive.
Vous pouvez précéder chaque entrée avec le signe moins «-» pour ne pas synchroniser le fichier après chaque journalisation. Remarquez que vous pouvez alors perdre des informations si le système se crashe juste après une tentative d'écriture. Cependant vous pouvez gagner en retour quelques performances, spécialement si vous exécutez des programmes qui utilisent la journalisation de manière très verbeuse.
En utilisant cette possibilité vous serez à même de contrôler tous les messages syslog sur un hôte, si toutes les autres machines journalisent vers lui. Ceci dissipe tous les besoins d'administration.
# Stocke tout ce qui est critique dans critical # *.=crit;kern.none /var/adm/critical
Ceci stockera tous les messages de priorité crit dans le fichier /var/adm/critical, sauf pour les messages noyau.
# Les messages noyau sont tout d'abord stockés dans # le fichier kernel, les messages critiques et au-dessus # sont retransmis vers un autre hôte et vers # la console # kern.* /var/adm/kernel kern.crit @finlandia kern.crit /dev/console kern.info;kern.!err /var/adm/kernel-info
La première règle dirige tous les messages de facility kernel vers le fichier /var/adm/kernel.
La seconde déclaration dirige tous les messages noyau de priorité crit et au-dessus vers l'hôte distant finlandia. Ceci est utile, car si l'hôte se crashe et que le disque subit des erreurs irréparables vous pourriez ne plus arriver à lire les messages stockés. S'ils sont aussi sur un hôte distant, vous pouvez encore essayer de trouver les raisons du crash.
La troisième règle dirige ces même messages vers la console courante, aussi l'utilisateur qui travaille sur la machine les recevra, aussi.
La quatrième ligne indique à syslogd de sauvegarder tous les messages noyau arrivant avec un priorité de info à warning dans le fichier /var/adm/kernel-info. Tout de err et au-dessus est exclu.
# Tcp wrapper journalise selon mail.info, nous affichons # toute la connexion sur tty12 # mail.=info /dev/tty12
Ceci dirige tous les messages utilisant mail.info (dans les sources LOG_MAIL | LOG_INFO) vers /dev/tty12, la 12ème console. Par exemple le tcp wrapper tcpd(8) utilise ceci par défaut.
# Stocke tout ce qui concerne le courriel dans # le fichier mail # mail.*;mail.!=info /var/adm/mail
Ce modèle correspond à tous les messages arrivant avec la facility mail, sauf ceux de priorité info. Ils seront stockés dans le fichier /var/adm/mail.
# Journalise tout message mail.info ou news.info dans info # mail,news.=info /var/adm/info
Ceci extraira tous les messages arrivant avec soit mail.info soit news.info et les stockera dans le fichier /var/adm/info.
# Journalise les messages info et notice dans # le fichier messages # *.=info;*.=notice;\ mail.none /var/log/messages
Ceci laissera syslogd journaliser tous les messages qui arrivent avec la priorité soit info soit notice dans le fichier /var/log/messages, sauf les messages qui utilisent la facility mail.
# Journalise les messages info dans le fichier messages # *.=info;\ mail,news.none /var/log/messages
Cette déclaration fait journaliser syslogd tous les messages arrivant avec la priorité info dans le fichier /var/log/messages. Mais tout message arrivant avec la facility soit mail soit news ne sera pas stocké.
# Les messages d'urgence seront affiché avec wall # *.=emerg *
Cette règle indique à syslogd d'envoyer tous les messages d'urgence à tous les utilisateurs connectés. C'est l'action de wall.
# Les messages de priorité alert seront dirigés # vers les opérateurs # *.alert root,joey
Cette règle dirige tous les messages de priorité alert ou au-dessus vers les terminaux des opérateurs, c'est-à-dire des utilisateurs « root » et « joey » s'ils sont connectés.
*.* @finlandia
Cette règle redirigerait tous les messages vers un hôte distant nommé finlandia. Ceci est utile spécialement dans un cluster de machines où tous les messages syslog seront stockés sur une machine unique.
Le syslogd BSD original ne comprenait pas les espaces comme des séparateurs entre les champs sélecteur et action.