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

mem*_*und 8 java spring tomcat spring-boot

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

我尝试了什么:改变logging.file房产application.properties

保留文件名:#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

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

Pat*_*ick 5

我刚刚Spring-boot从 spring starter 构建为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";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个属性在application.properties

logging.file=../logs/mylog.log
Run Code Online (Sandbox Code Playgroud)

使用Maven构建应用程序mvn clean install,并把war文件中webapps的文件夹tomcat。开始使用 tomcatstartup.bat并点击成功端点http://localhost:8080/demo-0.0.1-SNAPSHOT

日志写在logs/mylog.log

在此处输入图片说明

2017-01-04 14:57:10.755 ERROR 8236 --- [http-apr-8080-exec-4] com.example.LogApplication               : Error Logging
Run Code Online (Sandbox Code Playgroud)