<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Ce n'est pas lié au contenu de l'article PHP Section de code</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Initialiser la fonction de journalisation du système...\n"</span></span><span>;
</span><span><span class="hljs-variable">$syslog_ident</span></span><span> = </span><span><span class="hljs-string">"MyApp"</span></span><span>;
</span><span><span class="hljs-variable">$syslog_option</span></span><span> = LOG_PID | LOG_PERROR;
</span><span><span class="hljs-variable">$syslog_facility</span></span><span> = LOG_USER;
</span><span><span class="hljs-title function_ invoke__">openlog</span></span><span>(</span><span><span class="hljs-variable">$syslog_ident</span></span><span>, </span><span><span class="hljs-variable">$syslog_option</span></span><span>, </span><span><span class="hljs-variable">$syslog_facility</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h2>Comment passer syslog Paramètre de fonction et implémentation de la fonction de journalisation distante?</h2>
<p>exister PHP milieu,<code>syslogLa configuration ci-dessus permet d'envoyer des journaux au port de serveur distant 514 via UDP .
Les fonctions Syslog de PHP reposent généralement sur les services Syslog locaux. Par conséquent, pour envoyer à un serveur distant, vous devez spécifier la destination distante dans le fichier de configuration Syslog local. Prendre /etc/rsyslog.d/remote.conf du système Linux comme exemple:
*. * @@ serveur distant IP: <span><span>514</span></span><span> </span><p>Utilisez ensuite la fonction syslog directement dans PHP:</p><pre> <span><span><?php</span></span><span> </span><span><span class="function_ invoke__">openLog</span></span> <span>(</span> <span><span>"myApp"</span></span> <span>, log_pid | log_perror, log_user); </span><span><span class="function_ invoke__">syslog</span></span> <span>(log_info,</span> <span><span>"Ceci est un exemple de message de journal distant"</span></span> <span>); </span><span><span class="function_ invoke__">roselog</span></span> <span>(); </span><span><span>?></span></span><span> </span></span><h3><span><span>4.</span></span> <span>Priorité et installations du journal</span><p> Les messages de journal peuvent spécifier différentes priorités et installations pour les serveurs distants pour classer et filtrer:</p><ul><li> Priorité: <span class="fun">log_emerg</span> , <span class="fun">log_alert</span> , <span class="fun">log_crit</span> , <span class="fun">log_err</span> , <span class="fun">log_warning</span> , <span class="fun">log_notice</span> , <span class="fun">log_info</span> , <span class="fun">log_debug</span></li><li> Installations: <span class="fun">log_user</span> , <span class="fun">log_local0</span> à <span class="fun">log_local7</span> , etc.</li></ul><h3> <span><span>5.</span></span> <span>Choses à noter</span><ol><li> Assurez-vous que le port réseau (par défaut UDP <span><span>514</span></span> <span>) est autorisé à accéder dans le pare-feu.</span><li> Les serveurs de journaux distants doivent avoir des mécanismes de stockage et de rotation des journaux pour empêcher la croissance des journaux illimités.</li><li> Dans des situations de concurrence élevées, envisagez l'envoi du journal par lots ou utilisez un proxy de journal dédié pour réduire l'impact des performances.</li></ol><p> Grâce aux exemples de configuration et de code ci-dessus, nous pouvons implémenter des programmes PHP pour envoyer des journaux en toute sécurité et efficacement aux serveurs de journaux distants, ce qui facilite la surveillance centralisée et la gestion de l'état de fonctionnement des applications.</p> <span><span><?php</span></span><span> </span><span><span>// Le code PHP à la fin de l'article n'est pas pertinent</span></span><span> </span><span><span>écho</span></span><span> </span><span><span>"L'enregistrement du journal est terminé. \ N"</span></span> <span>;</span> <span><span>?></span></span><span> </span></span></div></div>