Как отфильтровать только определенный журнал запросов весной (logback.xml) - PullRequest
0 голосов
/ 29 июня 2019

Я использую файл logback-spring.xml для записи результатов sql.А также я использую «SqlSessionTemplate» в качестве общего jdbcTemplate для написания SQL-запросов и получения данных из базы данных.В этой ситуации мне нужно исключить некоторые журналы, потому что в нем много данных, которые загружаются при загрузке сервера и бесполезны.Но, как я упоминал выше, я использую те же шаблоны, поэтому я не знаю, как отфильтровать только этот запрос из журнала.Я пытался отфильтровать его, как я делаю перехватчик, как показано ниже.

logback-spring.xml

<appender name="STDOUT-SQL-RESULTSET" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="com.common.interceptor.LogbackInterceptor" />
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%msg%n</pattern>
        </encoder>
</appender>

LogbackInterceptor.java

public class LogbackInterceptor extends Filter<ILoggingEvent> {

    @Override
    public FilterReply decide( ILoggingEvent event ) {
        if (event.getMessage().contains("NOT_SQL_LOG")) {
            return FilterReply.DENY;
        }else{
            return FilterReply.ACCEPT;
        }
    }
}

messageSql.xml

<select id="retrieveMessage" parameterType="String" resultType="Message">
  -- NOT_SQL_LOG
  SELECT blahblah ~~

Поскольку в результате имеется много строк, пропущена только строка комментария "- NOT_SQL_LOG", а все остальные запросы и результаты вышли в консольный журнал.

И когда мне надоело EvaluatorFilter, сервер не начал оставлять сообщение вроде «[main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - соответствующие URL для перезагрузки»

<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
        <evaluator>
            <expression>return message.contains("NOT_SQL_LOG");</expression>
        </evaluator>
        <OnMismatch>NEUTRAL</OnMismatch>
        <OnMatch>DENY</OnMatch>
</filter>

Пожалуйста, помогите мне отфильтровать определенные запросы, чтобы ненаписано.Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 16 июля 2019

Я решил эту проблему, добавив MDC

...