您如何将API访问信息输出到记录器文件中?

时间:2018-09-06 11:35:56

标签: java spring spring-mvc spring-boot

我正在尝试创建一个记录器,该记录器将API访问信息输出到记录器文件中。

我创建了一个日志文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />

    <root level="INFO">
        <appender-ref ref="FILE" />
    </root>
</configuration>

application.yml:

logging:
file: restapi.log

控制器:

@RestController
public class ProductController {
    @Autowired
    ProductRepository productRepository;
    //creating a new logger
    private final Logger logger = LoggerFactory.getLogger(ProductController.class);

    @GetMapping("/products")
    public ProductsResponse getAllProducts() {
        //logging an event
        logger.info("abcdefg");
        List<Product> foundProducts;
        foundProducts = productRepository.findAll();
    }

每次控制器上运行特定方法时,我都希望输出到日志文件。

当前,我正在运行服务器,并且它在测试模式下运行,并且服务器由于某种原因而停止,因此我无法弄清楚如何发送请求。

1 个答案:

答案 0 :(得分:1)

我认为您可以使用HandlerInterceptor来完成

请查看this指南。