如何在 Java 的日志文件中记录来自 Web 服务 (POST) 的一些记录?



我想创建一个日志文件并保存由Web服务POST提供的信息。

对象记录器创建如下:

private static final Logger logger = Logger.getLogger(B2BUnitController.class.getName());

我不知道如何继续制作日志文件并保存信息。

由于您是使用 log4j。 将以下内容添加到项目属性文件中

logging.path=/data/logs
logging.level.root=INFO
logging.file=/data/logs/test.log
logging.pattern.console="%d{yyyy-MM-dd HH:mm:ss} -----|  %msg%n"
logging.pattern.file="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} ----|  %msg%n"

基本上上面的代码将创建文件夹data/logs然后在该文件夹中创建名为test.log的日志文件。

最后记录您的信息

如下
private static final Logger logger = Logger.getLogger(B2BUnitController.class.getName());
logger.info("information received {}",objectWithInformationThatShouldGoInLogs);

然后你完成了,它将在你的控制台和文件中打印日志。

以 JSON 格式查看日志

添加以下 Gson 依赖项。

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.7</version>
</dependency>

然后

private static final Logger logger = Logger.getLogger(B2BUnitController.class.getName());
private static Gson gson = new GsonBuilder().setPrettyPrinting().create();
logger.info("information received {}",gson.ToJson(objectWithInformationThatShouldGoInLogs));

您可以在以下站点上阅读有关日志的详细信息

SLF4J贝尔东简介

使用 SLF4J Dzone

格森·贝尔东

*NB yml 属性文件

logging:
path: /data/logs/
level:
root: INFO
org:
springframework:
security: INFO
file:  /data/logs/test.log
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} -----|  %msg%n"
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} ----|  %msg%n"

最新更新