当前位置: 首页 > 知识库问答 >
问题:

Spring Security 5响应式应用程序的日志记录

单于善
2023-03-14

目前正在使用Spring Boot 2.0.1和Spring Security 5.0.4,用于被动应用程序。

问题是我根本没有任何Spring Security日志。

额外细节:

>

  • 我有"logging.level.org.springframework.security=DEBUG"在application.properties.记录器执行器证明了这一点。

    由于未经验证的访问正确返回401状态,因此Spring Security已正确启用。

    对于命令式Spring Boot 2.0.1应用程序,我正确获取了Spring Security日志。

    我错过了什么吗?如何在反应式应用程序中启用Spring Security 5日志(最好使用属性而不是代码)?

    谢谢你抽出时间。

    更新1:上传了一个MWEhttps://github.com/fbeaufume/webflux-security-sample

    更新2:我的应用程序的Spring Security配置基于http://www.baeldung.com/spring-security-5-reactive(可能已弃用,因为它使用Spring Boot 2.0.0. M6),但还不起作用。

    更新3:使用源代码时https://github.com/spring-projects/spring-boot/tree/v2.0.1.RELEASE/spring-boot-samples/spring-boot-sample-secure-webflux然后Spring Security性工作了,但仍然没有日志

  • 共有1个答案

    魏晨
    2023-03-14

    webflux反应式应用的Spring Security日志现在可以从5.4.0-M2版本开始使用(正如@bzhu在评论中提到的那样,我如何启用Spring Security日志?)

    • https://github.com/spring-projects/spring-security/issues/5758
    • https://github.com/spring-projects/spring-security/pull/8504
    • https://github.com/spring-projects/spring-security/releases/tag/5.4.0-M2

    在这个版本进入GA版本之前,下面是如何在gradle中获得这个里程碑式的版本

    repositories {
        mavenCentral()
        if (!version.endsWith('RELEASE')) {
            maven { url "https://repo.spring.io/milestone" }
        }
    }
    
    // Force earlier milestone release to get securing logging preview
    // https://docs.spring.io/spring-security/site/docs/current/reference/html5/#getting-gradle-boot
    ext['spring-security.version']='5.4.0-M2'
    dependencyManagement {
        imports {
            mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
        }
    
    }
    
     类似资料:
    • 需要帮助...我在这里做错了什么???我相信它确实从应用程序属性文件中读取路径和文件名。但我不认为它读取了logback.xml或logback-spring.xml 我做了一些研究,发现了许多问题/答案。但是我想每个人都说要把logback xml放在资源中,把路径和文件名放在application.properties.我知道这很简单,但是在某个地方遗漏了一些东西… 提前谢谢!! 应用程序属性

    • 我有一个使用Spring Boot开发的微服务。应用程序部署在pivotal cloud Foundry。我已经在logback.xml中设置了日志级别,它是应用程序的一部分。为了更改日志级别,我必须更新logback.xml并重新构建/重新部署应用程序。有没有更好的方法做到这一点,而不必重新部署应用程序?有没有办法在PCF中将日志级别设置为env变量?

    • 我目前正在使用Azure'Web应用Linux',它利用docker容器通过私有注册表(Azure容器注册表)托管java应用和python应用,我还没有找到收集和分析应用程序日志的方法容器。 目标是通过OMS、application insight或storage analytics分析应用程序日志。我知道“linux上的Web应用程序”仍处于预览状态,但没有关于当前支持哪些功能的官方文档。 A

    • 标题应该是不言自明的。 出于调试目的,我希望express打印每个服务请求的响应代码和正文。打印响应代码很容易,但打印响应体更为复杂,因为响应体似乎不容易作为属性使用。 以下情况不起作用: 当然,我可以很容易地在发出请求的客户端打印响应,但我也更喜欢在服务器端打印。 PS:如果有帮助的话,我所有的响应都是json,但希望有一个解决方案可以处理一般的响应。

    • 上次我在考虑如何在我们的应用程序中正确使用记录器。例如,我有一个控制器,它返回一个用户流,但在日志中,我看到“Fetch users”日志是由另一个线程记录的,而不是处理管道上的线程,但这是一个好的方法吗? 在这种情况下,使用了两个线程,从我的角度来看,这不是一个好的选择,但我找不到在反应应用程序中使用记录器的好做法。我认为下面的方法更好,因为分配内存是来自处理线程,而不是来自spring web