首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SLF4J通过标记过滤日志消息

SLF4J通过标记过滤日志消息
EN

Stack Overflow用户
提问于 2019-05-23 13:14:34
回答 1查看 2.6K关注 0票数 1

我在我的应用程序中使用Spring和Slf4j。我需要记录特定的审计事件。使用JPA、Hibernate或Spring进行审计不符合我的需要,因为我希望记录服务级别审计而不是DB。因此,我决定对记录器使用标记,然后将它们保存到DB中。

但是,如何中断所有日志消息并过滤那些有我的审计标记的消息呢?总之,它们也应该被记录到一个文件中,就像没有标记的文件一样。

EN

回答 1

Stack Overflow用户

发布于 2019-05-23 13:57:33

数据库附录

Spring使用Logback作为底层日志框架。

您可以在logback-spring.xml中创建src/resources文件,然后配置记录器。这里有默认的文件附录,您可以添加数据库附录。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <springProperty name="spring.datasource.driverClassName" source="spring.datasource.driverClassName"/>
    <springProperty name="spring.datasource.url" source="spring.datasource.url"/>
    <springProperty name="spring.datasource.username" source="spring.datasource.username"/>
    <springProperty name="spring.datasource.password" source="spring.datasource.password"/>

    <appender name="DATABASE" class="ch.qos.logback.classic.db.DBAppender">
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
            <driverClass>${spring.datasource.driverClassName}</driverClass>
            <url>${spring.datasource.url}</url>
            <user>${spring.datasource.username}</user>
            <password>${spring.datasource.password}</password>
        </connectionSource>
    </appender>

    <logger name="AUDIT" level="INFO">
        <appender-ref ref="FILE"/>
        <appender-ref ref="DATABASE"/>
    </logger>
 </configuration>

附加信息

可以使用映射的诊断上下文(MDC)存储要添加到每个日志条目的全局信息:

代码语言:javascript
复制
MDC.put("username", SecurityContextHolder.getContext().getAuthentication().getName());

要在输出中使用它,必须将其添加到日志模式中。例如:

代码语言:javascript
复制
<Pattern>%X{username} - %m%n</Pattern>

再读

我建议阅读“登录手册”,以获得有关附加程序和MDC的更多信息:

https://logback.qos.ch/manual/mdc.html

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

https://stackoverflow.com/questions/56276097

复制
相关文章

相似问题

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