Спам в лог в приложении развернутом в war

Добрый день.

Имею кучу лог-спама (сообщений 5 в секунду) на развернутой в war системе:

2019-04-01 03:16:25.699 DEBUG [https-jsse-nio-443-exec-2/ROOT/pk\sergeev_ms] com.vaadin.ui.ConnectorTracker - Registered CubaLabel (2622)
2019-04-01 03:16:25.699 DEBUG [https-jsse-nio-443-exec-2/ROOT/pk\sergeev_ms] com.vaadin.ui.ConnectorTracker - Registered CubaLabel (2624)
2019-04-01 03:16:25.699 DEBUG [https-jsse-nio-443-exec-2/ROOT/pk\sergeev_ms] com.vaadin.ui.ConnectorTracker - Registered CubaLabel (2630)
2019-04-01 03:16:25.699 DEBUG [https-jsse-nio-443-exec-2/ROOT/pk\sergeev_ms] com.vaadin.ui.ConnectorTracker - Registered CubaLabel (2625)

Приложение развернуто в root.
image
Уровень логирования для логгера ROOT стоит debug. При его изменении спам прекращается. Достаточно ли в logback изменить уровень логирования? Если достаточно, подскажите, какой конкретно логгер за это отвечает в logback.

Добрый день!

В logback.xml вы всегда можете задать свой логгер, для подавления приведенных вами сообщений это com.vaadin.ui.ConnectionTracker.

1 симпатия

Спасибо, Константин. Попробую.

А не подскажите, что может быть причиной этого спама? Просто вижу в логе, что обращения от моей учетки, хотя активной работы с системой в этот момент нет.

Константин, вынужден вернуться к этому вопросу, поскольку работает не корректно.

Сведения
<?xml version="1.0" encoding="UTF-8"?>

<configuration debug="false" packagingData="true">

    <property name="logDir" value="${app.home}/logs"/>

    <appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logDir}/app.log</file>

        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${logDir}/app.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- keep 30 days' worth of history -->
            <maxHistory>30</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread%X{cubaApp}%X{cubaUser}] %logger - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>

        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root>
        <appender-ref ref="Console"/>
        <appender-ref ref="File"/>
    </root>

    <!-- Begin CUBA -->

    <logger name="com.haulmont.cuba" level="DEBUG"/>

    <logger name="com.haulmont.cuba.core.sys" level="INFO"/>

    <logger name="com.haulmont.cuba.core.sys.CubaDefaultListableBeanFactory" level="WARN"/>
    
    <logger name="com.haulmont.cuba.core.app.scheduling" level="INFO"/>

    <logger name="com.haulmont.cuba.web.sys" level="INFO"/>

    <logger name="com.haulmont.cuba.portal" level="INFO"/>

    <logger name="com.haulmont.restapi.sys" level="INFO"/>

    <logger name="com.haulmont.cuba.core.app.LockManager" level="INFO"/>

    <!-- End CUBA -->

    <logger name="eclipselink" level="WARN"/>
    
    <logger name="eclipselink.sql" level="INFO"/>

    <logger name="org.springframework" level="WARN"/>

    <logger name="org.activiti" level="INFO"/>
    
    <logger name="freemarker" level="INFO"/>

    <logger name="org.thymeleaf.TemplateEngine" level="INFO"/>

    <logger name="org.docx4j" level="WARN"/>
    
	<logger name="org.xlsx4j" level="WARN"/>

    <logger name="org.hibernate" level="WARN"/>

    <logger name="sun" level="INFO"/>

    <logger name="com.sun" level="INFO"/>

    <logger name="javax" level="INFO"/>

    <logger name="org.apache" level="INFO"/>

    <logger name="org.atmosphere" level="INFO"/>

    <logger name="org.docx4j.utils.ResourceUtils" level="ERROR"/>

    <logger name="org.docx4j.Docx4jProperties" level="ERROR"/>

    <logger name="org.xlsx4j.jaxb.Context" level="ERROR"/>

    <!-- Begin Perf4J  -->

    <appender name="PerfStatFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logDir}/perfstat.log</file>
        <append>true</append>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logDir}/perfstat.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder>
            <pattern>%msg%n</pattern>
        </encoder>
    </appender>

    <appender name="CoalescingStatistics" class="org.perf4j.logback.AsyncCoalescingStatisticsAppender">
        <param name="TimeSlice" value="60000"/>
        <appender-ref ref="PerfStatFile"/>
    </appender>

    <appender name="UIPerfStatFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logDir}/perfstat-ui.log</file>
        <append>true</append>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logDir}/perfstat-ui.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder>
            <pattern>%msg%n</pattern>
        </encoder>
    </appender>

    <appender name="UICoalescingStatistics" class="org.perf4j.logback.AsyncCoalescingStatisticsAppender">
        <param name="TimeSlice" value="120000"/>
        <appender-ref ref="UIPerfStatFile"/>
    </appender>

    <logger name="org.perf4j.TimingLogger" additivity="false" level="INFO">
        <appender-ref ref="CoalescingStatistics"/>
    </logger>

    <logger name="com.haulmont.cuba.gui.logging.UIPerformanceLogger" additivity="false" level="INFO">
        <appender-ref ref="UICoalescingStatistics"/>
    </logger>

    <!-- End Perf4J  -->

    <!-- Begin Custom -->
    <logger name="com.vaadin.ui.ConnectionTracker" level="ERROR"/>
    <logger name="com.vaadin.server.JsonPaintTarget" level="ERROR"/>
    <logger name="com.vaadin.server.communication.UidlWriter" level="ERROR"/>
    <!-- End Custom -->
</configuration>

При этом в логе я вижу все тот же спам от ConnectionTracker. То, что вышеуказанный логгер применился, я вижу из веб-интерфейса, когда получаю уровень этого логгера.

image

Что еще можно попробовать сделать?

У вас на скриншоте видно, что названия классов разные.
com.vaadin.ui.ConnectorTracker != com.vaadin.ui.ConnectionTracker

1 симпатия

Спасибо, Александр!

Посыпаю голову пеплом…