2017-07-11 2 views
0

Mon programme s'exécute en tant que service sur certaines machines Linux. J'ai trouvé que sur un Ubuntu 16 la journalisation est OK mais sur CentOS (Linux local 3.10.0-514.21.1.el7.x86_64 # 1 SMP Jeu 25 Mai 17:04:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux) Je fais pas observer les fichiers journaux créés dans/var/log.Log4j2 crée des journaux pour Ubuntu mais pas pour CentOS

Log4j2 config

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration> 
    <Appenders> 
     <Console name="Console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
     </Console> 
     <RollingFile name="InfoFileAppender" 
        fileName="/var/log/MY.log" 
        filePattern="/var/log/MY.log.%d{yyyy-MM-dd-hh-mm}.gz"> 
      <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/> 
      <Policies> 
       <SizeBasedTriggeringPolicy size="100 MB"/> 
      </Policies> 
      <DefaultRolloverStrategy max="20"/> 
     </RollingFile> 
    </Appenders> 
    <Loggers> 
     <Root level="INFO"> 
      <AppenderRef ref="Console" level="TRACE"/> 
      <AppenderRef ref="InfoFileAppender" level="TRACE"/> 
     </Root> 
    </Loggers> 
</Configuration> 

Cependant, quand je lance un service sudo myservice d'état, je ne vois quelques lignes de journaux - ils doivent arriver ailleurs!

Je devinais peut-être que journalctl peut me montrer quelques journaux, et utilisé https://www.loggly.com/ultimate-guide/using-journalctl/ pour obtenir des commandes de queue de journal, mais sans résultat, il répond "Aucun fichier journal n'a été trouvé."

Comment puis-je résoudre ce problème?

Répondre

1

Cela me semble être un problème d'autorisation. Vous devez donner à votre utilisateur l'autorisation d'écriture de/var/log.