Comment configurer syslog pour qu’un journal des applications accède à un fichier spécifique

J’ai une application myapp qui devrait envoyer des fichiers journaux uniquement à /var/log/myapp.log . myapp est écrit en C ++. L’exemple de code suivant envoie les journaux à / var / log / syslog uniquement. Mon os est Linux – Ubuntu 12.04 – pour être précis. J’ai également constaté que ma machine avait rsyslog que syslog installé.

 #include  #include  #include  int main(void) { openlog("myapp", LOG_PID|LOG_CONS, LOG_USER); syslog(LOG_INFO, "abc 10"); closelog(); return 0; } 

Selon la page de manuel syslog (3), le premier paramètre de openlog () définit un préfixe pour les messages de journalisation, pas un nom de fichier. Vous pouvez utiliser une fonction comme LOG_LOCAL0 pour marquer votre sortie, puis configurer syslogd en utilisant /etc/syslog.conf pour envoyer ces journaux au fichier de votre choix.