我有一个服务AccessLogsApplication,其中有一个控制器HelloWorld。我想在春季启动时将每个传入请求打印在名为access_log.log的单独日志文件中。
@RestController
public class HelloWorld {
private static final Logger log = LoggerFactory.getLogger(HelloWorld.class);
@RequestMapping(value = "/hello/1", method = RequestMethod.GET)
public String getHello() {
log.info("In method 1");
return "helloWorld";
}
@RequestMapping(value = "/hello/2", method = RequestMethod.GET)
public String getHelloFromUser() {
log.info("In method 2");
return "helloWorld From Sudhanshu Saini";
}
}
这是我的application.properties
spring.application.name=HelloWorld
server.port=8080
server.tomcat.accesslog.buffered=true
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=logs
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.suffix=.log
server.tomcat.accesslog.pattern="%h %l %u %t %r %s %b %D"
logging.level.root=warn
logging.level.com.saini.access_logs=debug
logging.path=logs
logging.file=${logging.path}/hello_service.log
我想记录此服务的每个即将来临的请求。 像这样(这是我手动编写的,无法访问日志)-
[03/May/2019:16:37:52 +0530] "GET /hello/1 HTTP/1.0" 200 2
[03/May/2019:16:37:52 +0530] "GET /hello/2 HTTP/1.0" 200 2
访问日志在Spring Boot中不起作用。它没有创建文件access_log.log
答案 0 :(得分:1)
还有SLF4J库,而不是使用java.util中的标准日志记录。这里有三种带有日志记录事件的材料:
也许会有所帮助:)
答案 1 :(得分:0)
请配置 server.tomcat.basedir =目录路径
例如:server.tomcat.basedir = tomcat
答案 2 :(得分:0)
将这些添加到application.properties以启用tomcat访问日志
<template>
<v-flex xs12 sm6>
<v-select v-model="selected" :items="data"
:label="label"
:multiple="multiple"
:chips="chips"
:hint="hint"
:persistent-hint="persistentHint"
:counter="counter"
:dark="dark"
></v-select>
</v-flex>
</template>
<script>
export default {
props: {
label: {
default: false,
type: String|Boolean
},
multiple: {
default: true,
type: Boolean
},
chips: {
default: true,
type: Boolean
},
hint: {
default: '',
type: String|Boolean
},
persistentHint: {
default: this.hint !== '' || this.hint !== false,
type: String|Boolean
},
counter: {
default: false,
type: Number|Boolean
},
dark: {
default: false,
type: Boolean
},
},
data: function() {
return {
selected: [ ],
data: [
'test', 'test2', 'test3'
]
}
}
}
</script>
答案 3 :(得分:-1)
您将需要将适当的字符串传递给环境。当您通常不希望在一行中获得所有标题时,将使用其标题提供标题。如果您需要更多功能,则很可能也可以使用您的应用程序将其记录下来。 check here