首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Spring安全日志记录

禁用Spring安全日志记录
EN

Stack Overflow用户
提问于 2019-09-30 03:53:37
回答 2查看 2.3K关注 0票数 0

我们使用自定义过滤器来进行身份验证。

我们的自定义过滤器扩展自BasicAuthenticationFilter。我们在应用程序中只使用基本身份验证。我们这样做是因为我们希望在身份验证入口点处理不同的身份验证场景。

每当调用API时,我们的过滤器就会启动,这将导致大量日志被打印到控制台上。这些日志本身来自BasicAuthenticationFilter.class (我们的过滤器已经扩展)

代码语言:javascript
复制
if (this.authenticationIsRequired(username)) {
                UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(username, tokens[1]);
                authRequest.setDetails(this.authenticationDetailsSource.buildDetails(request));
                Authentication authResult = this.authenticationManager.authenticate(authRequest);
                if (debug) {
                    this.logger.debug("Authentication success: " + authResult);
                }

                SecurityContextHolder.getContext().setAuthentication(authResult);
                this.rememberMeServices.loginSuccess(request, response, authResult);
                this.onSuccessfulAuthentication(request, response, authResult);
            }

是否可以避免此日志记录,而不必实际覆盖该函数。

EN

回答 2

Stack Overflow用户

发布于 2019-09-30 05:10:09

在springboot中,日志记录级别可以设置为TRACE, DEBUG, INFO, WARN, ERROR, FATAL, or OFF。在application.yml或application.properties中设置以下内容可以配置根记录器级别:

代码语言:javascript
复制
logging.level.root=warn

除此之外,springboot还允许根据组或类设置日志记录级别。

通常情况下,能够将相关的记录器分组在一起,以便能够同时配置它们是非常有用的。例如,您可能通常会更改所有与Tomcat相关的记录器的日志记录级别,但您无法轻松地记住顶级包。 为了帮助解决这个问题,Spring允许您在Spring环境中定义日志组。例如,您可以通过将“tomcat”组添加到您的application.properties中来定义它: logging.group.tomcat=org.apache.catalina,org.apache.coyote,org.apache.tomcat

实际上,springbobot为我们提供了为类设置日志记录级别的能力。因此,在您的示例中,您可以将过滤器类的日志记录级别设置为ERROR,这样就不会从它生成不必要的日志,或者将其设置为OFF。另一种方法是关闭整个spring安全组的日志记录(不建议这样做,因为您可能会丢失许多可能有用的日志):

代码语言:javascript
复制
logging.level.com.security.BasicAuthenticationFilter=ERROR

读取文档

票数 3
EN

Stack Overflow用户

发布于 2019-09-30 05:13:58

有多种方法处理相同的问题。

从命令行

代码语言:javascript
复制
-Dlogging.level.org.springframework.security.web.authentication.www=OFF

来自Logger configuration

可以将不同的日志级别设置为不同的类,关闭所需类的日志记录。

根据Spring页面这里 26.4日志级别

所有受支持的日志记录系统都可以在Spring中(例如,在application.properties中)设置记录器级别,方法是使用logging.level.=,其中级别是跟踪、调试、信息、警告、错误、致命或关闭级别之一。可以使用logging.level.root配置根记录器。

详细阅读本教程这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58161317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档