我想创建一个日志文件并保存 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));
您可以在以下网站上阅读有关日志的更多信息
Introduction to SLF4J Baeldung
*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"
关于java - 如何在 Java 的日志文件中记录来自 Web 服务(POST)的一些记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57627780/