gpt4 book ai didi

java - Java Spring MVC 中的日志记录错误

转载 作者:行者123 更新时间:2023-12-02 08:38:56 25 4
gpt4 key购买 nike

我正在尝试弄清楚日志记录,我想每次调用日志记录时,在哪里更好地执行此操作?归档?到命令行?我也没有 web.хml,该怎么办?这是代码中我想要粘贴它的位置

@Controller
public class MyErrorController implements ErrorController {

@RequestMapping("/error")
public String handleError() {
//do something like logging
return "error404";
}

@Override
public String getErrorPath() {
return "/error";
}
}

我在网上看到这个,我不明白如何连接

@RestController
@ Log4j2
public class LombokLoggingController {
  
     @RequestMapping ("/ lombok")
     public String index () {
         log.trace ("A TRACE Message");
         log.debug ("A DEBUG Message");
         log.info ("An INFO Message");
         log.warn ("A WARN Message");
         log.error ("An ERROR Message");
  
         return "Howdy! Check out the Logs to see the output ...";
     }
}

这是我的 pom.xml 文件

<properties>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.7</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>

最佳答案

只需使用 @Slf4j 注释您的 Controller 并使用记录器即可。

log.error("这是一个错误")

Sl4j 只是日志框架的一个外观。 Log4j2 不起作用,因为 Spring boot 使用 Logback 作为默认记录器。

如果你想使用Log4j2而不是Logback。您需要排除 spring-boot-starter-web 中的 spring-boot-starter-logging 依赖项并添加 spring-boot-starter-log4j2。

您可以使用@Log4j2@Slf4j,但我建议使用@Slf4j,这样您就不必更改注释每当您想更改日志框架时。

关于java - Java Spring MVC 中的日志记录错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61506609/

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