gpt4 book ai didi

java - REST JAX-RS 日志记录

转载 作者:行者123 更新时间:2023-11-28 22:04:39 25 4
gpt4 key购买 nike

我已经关注了 HelloWorld示例并成功完成了我的第一个 REST。现在,我想在代码中添加日志记录功能。例如,我想要任何日志记录框架(Log4j、JUL)并能够登录代码,并输出到文件。如何将日志记录到我的 REST 代码?

@Path("/hello")
public class HelloWorldService {
Logger log = Logger.getLogger("className");

@GET
@Path("/{param}")
public Response getMsg(@PathParam("param") String msg) {

String output = "Jersey say : " + msg;

//for example, here. hopefully to a file
log.info("Log Jersey say : " + msg);

return Response.status(200).entity(output).build();

}
}

我正在使用 Jersey 1.19,Tomcat 8

最佳答案

您可以使用开源 Apache Log4j 库。在您的 pom 中添加以下依赖项或从 here 下载它.

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

log4j.properties

# Root logger option
log4j.rootLogger=INFO, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender

#Redirect to Tomcat logs folder
#log4j.appender.file.File=${catalina.home}/logs/logging.log

log4j.appender.file.File=C:\\logigng.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

使用此配置,所有日志记录都将重定向到您指定的日志文件。

来源:http://www.mkyong.com/logging/log4j-log4j-properties-examples/

如何使用 Log4j 记录消息?

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

记录具有不同优先级的消息,例如,debuginfowarnerror致命。通常,您只需要使用 debug 或 error。

//logs a debug message
if(logger.isDebugEnabled()){
logger.debug("This is debug");
}

//logs an error message with parameter
logger.error("This is error : " + parameter);

//logs an exception thrown from somewhere
logger.error("This is error", exception);

要在 debug 模式下设置记录器,请在您的属性文件中更改它

log4j.rootLogger=DEBUG, file

关于java - REST JAX-RS 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31616523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com