Spring引导创建但不写入日志文件(Spring 2.7.2)



我将我的spring应用程序作为war文件部署到外部tomcat上。在控制器类中,如果我访问/applogging

,我将尝试向日志文件写入一些日志消息控制器类

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.yaddayadda
@RestController
public class Controller {
private static final Logger logger = LoggerFactory.getLogger(Controller.class);

@GetMapping("/hello")
public String helloWorld()
{
return("Hello World!");
}
@GetMapping("/applogging")
public String doLogs() 
{
logger.error("Error message");
logger.warn("Warning message");
logger.info("Info message");
logger.debug("Debug message");
logger.trace("Trace message");
return("Logging");
}
}

主应用程序类

@SpringBootApplication
public class SpringappApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringappApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringappApplication.class, args);
}
}

application.properties

server.tomcat.accesslog.enabled=true
logging.level.root = TRACE
logging.file.name=/opt/tomcat/apache-tomcat-9.0.70/logs/webapplogs/springapp.log
logging.pattern.file= %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%
logging.level.org.springframework.web=TRACE
logging.level.org.hibernate=TRACE

在指定的位置创建日志,但是没有任何消息被写入日志文件。是我使用了错误的属性,还是我在控制器类中做错了什么?

添加到@M。Deinum评论…

在创建ApplicationContext之前初始化日志。点击这里阅读更多内容。因此,在实例化控制器类之前,会初始化文件追加程序并创建相关文件。换句话说,日志初始化与控制器中日志记录器的使用无关。这就是创建日志文件的原因。

最新更新