OVH Cloud OVH Cloud

Eviter les messages système dans la console

6 réponses
Avatar
Gabriel Kerneis
Bonjour à tous,

comment éviter l'affichage de messages système d'un certain module (en
l'occurrence celui du driver madwifi utilisé par ma carte wifi) sur la
console ? Parce que c'est assez perturbant quand je suis en train de
taper une commande de voir surgir inopinément en plein milieu :
"ath_rate_ctl: 36M -> 24M (7 ok, 4 err, 11 retr)"
et de toute façon je peux le trouver dans /var/log/sys.log.

J'ai idée qu'il faut rediriger la sortie des erreurs vers /dev/null mais
je ne sais pas comment faire pour un module (et aller modifier les
sources me tente moyennement, quoique ça ne doive pas être insurmontable).

Merci d'avance,

--
Gabriel Kerneis.

http://mrlapinot.free.fr : quelques poèmes.

6 réponses

Avatar
JRD
Gabriel Kerneis wrote:
Bonjour à tous,

comment éviter l'affichage de messages système d'un certain module (en
l'occurrence celui du driver madwifi utilisé par ma carte wifi) sur la
console ? Parce que c'est assez perturbant quand je suis en train de
taper une commande de voir surgir inopinément en plein milieu :
"ath_rate_ctl: 36M -> 24M (7 ok, 4 err, 11 retr)"
et de toute façon je peux le trouver dans /var/log/sys.log.

J'ai idée qu'il faut rediriger la sortie des erreurs vers /dev/null mais
je ne sais pas comment faire pour un module (et aller modifier les
sources me tente moyennement, quoique ça ne doive pas être insurmontable).

Merci d'avance,


Bonsoir,

Le fichier /etc/syslog.conf est un bon point de départ.
Remplacer les "/dev/console" par quelque chose de plus approprié.

JRD.
--

http://jerome.drapeau.free.fr
La critique est aisée, l'art est difficile.

Avatar
Gabriel Kerneis
Gabriel Kerneis wrote:
comment éviter l'affichage de messages système d'un certain module (en
l'occurrence celui du driver madwifi utilisé par ma carte wifi) sur la
console ?


Le fichier /etc/syslog.conf est un bon point de départ.
Remplacer les "/dev/console" par quelque chose de plus approprié.


Merci du conseil mais je ne vois pas à quoi toucher dans le mien :

# Debut de /etc/syslog.conf


auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/sys.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
*.emerg *
local0.* -/var/log/dhcpcd.log


# Fin de /etc/syslog.conf

A priori, vu que mes logs sont dans sys.log et kern.log (pour le message
en question), mon message est classé "emergency" (seule ligne qui
redirige vers la console si je ne m'abuse). Le fait est que _ce_ message
précis ne m'intéresse pas mais mettre :
*.emerg /dev/null
n'est-il pas un peu risqué (dans la mesure où d'autres messages d'erreur
de niveau "emergency" potentiellement utiles seraient passés à la trappe) ?

Enfin bon, je fouille de ce côté là.

Bonne journée,
--
Gabriel Kerneis.


Avatar
JRD
Gabriel Kerneis wrote:
Gabriel Kerneis wrote:
comment éviter l'affichage de messages système d'un certain module (en
l'occurrence celui du driver madwifi utilisé par ma carte wifi) sur la
console ?


Le fichier /etc/syslog.conf est un bon point de départ.
Remplacer les "/dev/console" par quelque chose de plus approprié.


Merci du conseil mais je ne vois pas à quoi toucher dans le mien :

# Debut de /etc/syslog.conf


auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/sys.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
*.emerg *
local0.* -/var/log/dhcpcd.log


# Fin de /etc/syslog.conf

A priori, vu que mes logs sont dans sys.log et kern.log (pour le message
en question), mon message est classé "emergency" (seule ligne qui
redirige vers la console si je ne m'abuse). Le fait est que _ce_ message
précis ne m'intéresse pas mais mettre :
*.emerg /dev/null
n'est-il pas un peu risqué (dans la mesure où d'autres messages d'erreur
de niveau "emergency" potentiellement utiles seraient passés à la trappe) ?

Enfin bon, je fouille de ce côté là.

Bonne journée,


Bonjour,

Je ne manie pas le syslog.conf tous les jours mais :
~ > man syslog.conf
[...]
Everyone logged on
Emergency messages often go to all users currently online to notify
them that something strange is happening with the system. To specify
this wall(1)-feature use an asterisk (``*'').
[...]

Ce qui pourrait donner une traduction *approximative* :
Tous ceux qui sont loggués
Les messages d'ugence vont souvent à tous les utilisateurs
connectés pour les informer que quelque chose d'anormal est en
train de se produire au niveau du système. Pour valider cette
fonctionnalité "envoie à tout le monde" (wall) utiliser un
astérisque.

Donc, il me semble préférable de mettre (tout simplement ;-)) :
*.emerg /var/log/emerg.log

Puis, relancer le démon syslogd. ;-)

Voilà.

JRD.
--

http://jerome.drapeau.free.fr
La critique est aisée, l'art est difficile.



Avatar
Gabriel Kerneis

Donc, il me semble préférable de mettre (tout simplement ;-)) :
*.emerg /var/log/emerg.log

Puis, relancer le démon syslogd. ;-)


Ce que j'avais fini par faire.

Merci bien,
--
Gabriel Kerneis.

Avatar
Cem
Le 27-02-2004, Gabriel Kerneis a écrit :
Gabriel Kerneis wrote:
comment éviter l'affichage de messages système d'un certain module (en
l'occurrence celui du driver madwifi utilisé par ma carte wifi) sur la
console ?



A priori, vu que mes logs sont dans sys.log et kern.log (pour le message
en question), mon message est classé "emergency" (seule ligne qui
redirige vers la console si je ne m'abuse).
Non.

Regardez le contenu de /proc/sys/kernel/printk.
Vous avez 4 chiffres qui signifient
- console_loglevel: tous les messages qui ont une priorité au moins
égale à celle-ci sont affichés sur la console
- default_message_level: les messages émis sans priorité auront cette
priorité
- minimum_console_loglevel: priorité la plus élevée à laquelle
console_loglevel peut être mise
- default_console_loglevel: valeur par défaut de console_loglevel
Dans votre cas (j'ai regardé le source du module), le message est émis
sans priorité et a donc la priorité default_message_level (probablement
4, c'est à dire WARNING).
Pour éviter l'affichage de ce message sur la console, il vous faut
monter le niveau d'affichage de la console immédiatement au dessus,
donc à 3 (ERR).
Ceci peut être fait pour la session en cours par la commande
"dmesg -n3".
Pour rendre ce réglage définitif, il vous faut faire un réglage dans le
script de démarrage qui lance klogd. Il faut démarrer klogd avec le
paramètre "-c 3".



Avatar
Gabriel Kerneis
(j'ai regardé le source du module)


Bah voila un exemple concret que je pourrais citer au neun^Wwindowsien
de mes connaissances qui n'arrête pas de me dire : "les sources, ça sert
à rien"...

En tout cas merci pour cette information bien utile.

--
Gabriel Kerneis.