2017-03-01 73 views
2

有没有什么办法可以配置基于配置的春天启动日志记录到多个文件/控制台?即一些日志语句应写入审计文件,并且正常的日志语句应该转到控制台/正常日志文件。春季启动日志记录到多个文件

以下是我在春季启动示例应用程序中尝试的代码。

的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> 

下面是application.properties项

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

下方的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!"; 
    } 

} 

是否有人可以帮助?有没有人遇到类似的情况?

非常感谢

回答

1

标准的logback例如,2个文件不同的包去到不同的文件:

<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

只需添加另一个记录器和附加器在您的配置文件并使用的名称创建记录器对象记录器在配置中定义。详细解释 检查 Spring boot multiple log files