Commande Linux logger

Linux 命令大全Référence des commandes Linux


logger est un outil en ligne de commande simple mais puissant sous Linux, utilisé pour ajouter des entrées de journal au journal système (syslog). Il permet aux utilisateurs et aux programmes de script d'écrire des messages personnalisés dans les fichiers journaux système, ce qui en fait un outil important pour l'administration système et le dépannage.

Cas d'utilisation typiques:

  • Enregistrer les opérations clés pendant l'exécution du script
  • Suivre l'état des tâches de maintenance du système
  • Enregistrer des journaux pour des applications personnalisées
  • Journalisation à distance (avec un serveur syslog)

Syntaxe de base et paramètres

La syntaxe de base de la commande logger est la suivante :

logger [选项] [消息]

Paramètres d'option courants

Option Description
-p, --priority <优先级> Spécifier la priorité du journal (facility.level)
-t, --tag <标签> Marquer les entrées de journal avec une étiquette spécifiée
-i, --id Inclure l'ID du processus dans chaque ligne de journal
-f, --file <文件> Lire le contenu du journal à partir d'un fichier spécifié
-s, --stderr Afficher également les journaux sur la sortie d'erreur standard
-n, --server <主机> Envoyer les journaux vers un serveur syslog distant
-P, --port <端口> Spécifier le port du serveur syslog distant
-u, --socket <套接字> Spécifier un socket de domaine Unix au lieu du périphérique par défaut
-d, --udp Envoyer les journaux en utilisant le protocole UDP (par défaut)
-T, --tcp Envoyer les journaux en utilisant le protocole TCP
-h, --help Afficher les informations d'aide
-V, --version Afficher les informations de version

Priorité expliquée en détail

La priorité de journalisation se compose de deux parties : facility et niveau, formatée commefacility.level。

Types de facility

Code de facility Description
auth Messages de sécurité/autorisation
authpriv Messages d'autorisation privés
cron Démon Cron
daemon Démon système
kern Messages du noyau
lpr Système d'impression
courrier Système de messagerie
news Système de news
syslog Messages internes de syslogd
user Messages de niveau utilisateur (par défaut)
local0-7 Utilisation locale personnalisée

Niveaux de journalisation

Code de niveau Description Valeur
emerg Le système est inutilisable 0
alert Une action doit être entreprise immédiatement 1
crit Conditions critiques 2
err Conditions d'erreur 3
warning Conditions d'avertissement 4
notice Conditions normales mais significatives 5
informations Messages d'information 6
debug Messages de niveau débogage 7

Exemples pratiques

Exemples d'utilisation de base

  1. Enregistrement simple de journal:

    logger "系统备份任务开始执行"

    Cela enregistrera un message dans le journal système, en utilisant la priorité user.notice par défaut.

  2. Journaliser avec une étiquette:

    logger -t BACKUP "数据库备份完成"

    L'entrée de journal s'affichera comme suit :BACKUP: 数据库备份完成

  3. Spécifier la priorité:

    logger -p local0.notice "自定义应用程序启动"

Exemples d'utilisation avancée

  1. Lire le contenu du journal à partir d'un fichier:

    logger -f /var/log/myapp.log
  2. Enregistrer l'état d'exécution du script:

    #!/bin/bash
    logger -t SCRIPT -p user.info "脚本开始执行"
    # 执行任务...
    if [ $? -eq 0 ]; then
        logger -t SCRIPT -p user.info "任务执行成功"
    else
        logger -t SCRIPT -p user.err "任务执行失败"
    fi
  3. Enregistrement des journaux à distance:

    logger -n 192.168.1.100 -P 514 "发送到远程服务器的日志"
  4. Sortie vers le terminal et journalisation simultanées:

    logger -s "这条消息会同时出现在终端和日志中"

Consultation et gestion des journaux

Après avoir enregistré les journaux, vous pouvez utiliser les commandes suivantes pour les consulter :

  1. Consulter les journaux système:

    journalctl # systèmes utilisant systemd ou tail -f /var/log/syslog # systèmes traditionnels
  2. Filtrer les journaux par une balise spécifique:

    journalctl -t BACKUP
  3. Consulter les journaux par heure:

    journalctl --since "2023-01-01" --until "2023-01-02"

Bonnes pratiques et précautions

  1. Conventions des balises de journal:

    • Utilisez des balises significatives (telles que le nom de l'application ou le nom du script)
    • Gardez des balises cohérentes pour faciliter le filtrage et l'analyse ultérieurs
  2. Sélection des priorités:

    • Utilisez différents niveaux de manière appropriée ; évitez d'utiliser le même niveau pour tous les journaux
    • Utilisez le niveau d'avertissement ou supérieur pour les opérations critiques
  3. Suggestions concernant le contenu des journaux:

    • Incluez suffisamment d'informations de contexte
    • Évitez d'enregistrer des informations sensibles (telles que les mots de passe)
    • Gardez les journaux concis mais complets
  4. Considérations de performance:

    • La journalisation à haute fréquence peut affecter les performances
    • Envisagez d'utiliser des méthodes tamponnées ou asynchrones pour journaliser de grands volumes
  5. Rotation des journaux:

    • Nettoyez régulièrement les anciens journaux
    • Configurez logrotate pour gérer la taille des fichiers journaux

FAQ

Q1 : Pourquoi mon journal n'apparaît-il pas dans /var/log/syslog ?

A1 : Cela peut être dû à :

  • La facility que vous utilisez est configurée pour écrire dans un autre fichier
  • Le niveau de journalisation est inférieur au niveau d'enregistrement minimum configuré sur le système
  • Le système utilise journald au lieu du syslog traditionnel

Q2 : Comment déterminer quel système de journalisation mon système utilise ?

A2 : Exécutez la commande suivante pour vérifier :

ps aux | grep -E "syslog|journald"

Q3 : Puis-je utiliser plusieurs options en même temps ?

A3 : Oui, par exemple :

logger -t MYAPP -p local0.err -i "关键错误发生"

Q4 : Comment tester la configuration du serveur de journaux distant ?

A4 : Utilisez logger pour envoyer un message de test :

logger -n 远程服务器IP -P 端口 "测试消息"

Grâce à cet article, vous devriez avoir maîtrisé l'utilisation essentielle de la commande logger. Cet outil apparemment simple est très utile dans l'administration système pratique et le développement d'applications, vous aidant à établir un mécanisme de journalisation complet. Il est recommandé de vous entraîner davantage dans votre travail réel et d'utiliser de manière flexible les différents paramètres d'option selon vos besoins spécifiques.


Linux 命令大全Référence des commandes Linux

Autres extensions