java - 如何设置 Spring 应用程序的日志文件名并记录到 tomcat/logs 文件夹?

标签 java spring tomcat spring-boot

如何设置相对于 tomcat 目录 /logs/mylog.log 的日志记录路径?

我尝试了什么:更改 application.properties 中的 logging.file 属性

省略文件名:#logging.file= -> 所有内容都记录到控制台,因此写入 tomcat/logs/localhost.yyyy-mm-dd.log

logging.file=mylog.log -> 写入控制台,因此与#logging.file 相同

logging.file=d:/mylog.log -> 写入位置 d:/mylog.log

logging.file=../logs/mylog.log -> 写入控制台,因此仍然写入 localhost*.log

没有一个是成功的。 我对外部化配置不感兴趣,例如通过提供系统或环境变量。

最佳答案

我刚刚从 spring starter build 创建了一个简单的 Spring-boot 应用程序作为 war 文件。我在 @SpringBootApplication 类中做了这个修改:

@SpringBootApplication
public class LogApplication {

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

    public static void main(String[] args) {
        SpringApplication.run(LogApplication.class, args);
    }

    @Controller
    @ResponseBody
    public static class IndexController{

        @RequestMapping("/")
        public String getindex(){
            logger.error("Error Logging");
            return "Hello";
        }
    }
}

application.properties 中的这个属性:

logging.file=../logs/mylog.log

使用 maven mvn clean install 构建应用程序并将 war 文件放入 tomcatwebapps 文件夹中。使用 startup.bat 启动 tomcat 并成功命中端点 http://localhost:8080/demo-0.0.1-SNAPSHOT

日志写在logs/mylog.log中:

enter image description here

2017-01-04 14:57:10.755 ERROR 8236 --- [http-apr-8080-exec-4] com.example.LogApplication               : Error Logging

关于java - 如何设置 Spring 应用程序的日志文件名并记录到 tomcat/logs 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463718/

相关文章:

java - 使用 JNA 创建 COM 对象的对象,我没有 .class

java - JDK10支持AOT编译吗?

spring - 更改应用程序上下文路径会导致使用不同的(未知的)日志记录配置

java - Eclipse JSP 预览

java - Spring Boot 中的 "Unsupported Media Type"- Windows

java - Web Sockets + Tomcat/Glassfish + 集群 + 负载平衡 - 有哪些选项?

java - IntentServices 会占用应用程序内存吗?

java - Java 10 中的 java.io.Reader transferTo(java.io.Writer) 方法是什么? InputStream有没有类似的方法?

java - 部署在 Tomcat Eclipse 项目中的 war

java - 在本地主机上的 oozie 中获取错误 500