2017-03-01 3 views
2

Y a-t-il un moyen de configurer la journalisation de démarrage au printemps sur plusieurs fichiers/console en fonction de la configuration? i.e Certaines instructions du journal doivent écrire dans un fichier d'audit et les instructions de consignation normales doivent aller dans le fichier journal de la console/normal.Ouverture de session de démarrage dans plusieurs fichiers

Ci-dessous le code que j'ai essayé sur l'application exemple de démarrage au printemps.

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/base.xml"/> 
    <logger name="file" level="DEBUG" additivity="false"> 
     <appender-ref ref="FILE" /> 
    </logger> 
    <logger name="org.hello" level="ERROR" additivity="false"> 
     <appender-ref ref="CONSOLE" /> 
    </logger> 
</configuration> 

est Ci-dessous les entrées application.properties

logging.level.org.springframework.web=INFO 
logging.file=logs/spring-boot-logging.log 

Ci-dessous la HelloController

@RestController 
public class HelloController { 

Logger logger = LoggerFactory.getLogger(HelloController.class); 

    Logger logger1 = LoggerFactory.getLogger("file"); 

    @RequestMapping("/") 
    public String index() { 

     logger.info("My Log test"); 
     logger1.info("My Audit test"); 


     return "Greetings from Spring Boot!"; 
    } 

} 

Quelqu'un peut-il s'il vous plaît aider? Quelqu'un at-il fait face à une situation similaire?

Merci beaucoup

Répondre

1

exemple standard logback, 2 fichiers avec différents packages va fichiers différents:

<configuration> 

    <appender name="FILE1" class="ch.qos.logback.core.FileAppender"> 
    <file>myApp1.log</file> 
    <encoder> 
     <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="FILE2" class="ch.qos.logback.core.FileAppender"> 
    <file>myApp1.log</file> 
    <encoder> 
     <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%msg%n</pattern> 
    </encoder> 
    </appender> 

    <logger name="com.package1.foo" level="DEBUG"> 
    <appender-ref ref="FILE1" /> 
    </logger> 

    <logger name="com.package2.bar" level="DEBUG"> 
    <appender-ref ref="FILE2" /> 
    </logger> 

    <root level="debug"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 
0

Ajoutez juste un autre enregistreur et appender dans votre fichier de configuration et créer un objet enregistreur en utilisant le nom de Logger défini dans la configuration. Pour plus d'explications vérifier Spring boot multiple log files