我正在尝试在Spring Boot应用程序中启用logback-access来记录命中该应用程序的所有http请求。
我尝试使用https://github.com/akihyro/logback-access-spring-boot-starter
来实现添加示例中显示的XML文件不会执行任何操作,是否还需要添加其他内容来启用?
任何其他获得相同结果的建议都将受到欢迎:)
答案 0 :(得分:0)
我非常确定您正在谈论SpringBoot的回退记录器。如果我没看错,这就是您可以这样做的方式
a。在您的POM中添加依赖项
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
b。现在,您可以通过多种方式要求spring配置回发。例如
使用logback.xml文件的优点是,对于不同的构建配置文件,您可能具有不同的xml文件。但是在application.properties中,您没有这种自由。
对我的一个项目中的application.properties文件中的条目进行采样
logging.level.org.springframework.web = INFO
logging.level.com.company.app = DEBUG
#logging.level.org.hibernate=ERROR
logging.file=logs/spring-boot-logging.log
## Hibernate Logging
logging.level.org.hibernate.SQL = DEBUG
如果您使用的是XML,则配置可能看起来像这样
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<logger name="org.springframework" level="error" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="org.springframework" level="info" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="org.springframework" level="warn" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="com.memorynotfound" level="debug" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<configuration scan="true"/>
</configuration>
我建议您进行一些Google搜寻,以更好地了解自己的情况。
祝你好运!
答案 1 :(得分:0)
您仍然需要将bean连接到您的应用程序...就像下面的代码片段将过滤器连接到您的应用程序一样:
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
// ... your other methods here
@Bean
public CommonsRequestLoggingFilter logFilter() {
CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
filter.setIncludeQueryString(true);
return filter;
}
}