简体   繁体   中英

How to stop logging in jetty application

I am using jetty to implement websocket client. This is producing a lot of noise in log file in start up of application and when failed reconnect websocket. Actually in case of websocket connection failure i am retrying after a minute so after every minute it it producing this kind of log:

2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.log:173 - Logging to Logger[org.eclipse.jetty.util.log] via org.eclipse.jetty.util.log.Slf4jLog
2017-06-12 14:23:04 | INFO  | [main] c.h.h.v.c.WebSocketListener:53 - STARTING WS Client
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.websocket.client.WebSocketClient@179d4544
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.w.c.WebSocketClient:157 - Starting org.eclipse.jetty.websocket.client.WebSocketClient@179d4544
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.ContainerLifeCycle:302 - org.eclipse.jetty.websocket.client.WebSocketClient@179d4544 added {WebSocketClient@396182852{STOPPED,8<=0<=200,i=0,q=0},AUTO}
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.ContainerLifeCycle:302 - org.eclipse.jetty.websocket.client.WebSocketClient@179d4544 added {org.eclipse.jetty.io.MappedByteBufferPool@19487c31,POJO}
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.ContainerLifeCycle:302 - org.eclipse.jetty.websocket.client.WebSocketClient@179d4544 added {org.eclipse.jetty.util.thread.ScheduledExecutorScheduler@2f9dc6f7,AUTO}
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.ContainerLifeCycle:302 - org.eclipse.jetty.websocket.client.WebSocketClient@179d4544 added {org.eclipse.jetty.websocket.client.io.ConnectionManager@36f6de04,AUTO}
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting WebSocketClient@396182852{STOPPED,8<=0<=200,i=0,q=0}
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED WebSocketClient@396182852{STARTED,8<=8<=200,i=7,q=0}
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.util.thread.ScheduledExecutorScheduler@2f9dc6f7
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.util.thread.ScheduledExecutorScheduler@2f9dc6f7
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.websocket.client.io.ConnectionManager@36f6de04
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.ContainerLifeCycle:302 - org.eclipse.jetty.websocket.client.io.ConnectionManager@36f6de04 added {org.eclipse.jetty.websocket.client.io.WebSocketClientSelectorManager@1cbbbc31,AUTO}
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.websocket.client.io.WebSocketClientSelectorManager@1cbbbc31
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.io.SelectorManager$ManagedSelector@78fb787f keys=-1 selected=-1
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.io.SelectorManager$ManagedSelector@78fb787f keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.t.QueuedThreadPool:342 - WebSocketClient@396182852{STARTED,8<=8<=200,i=8,q=0} dispatched org.eclipse.jetty.io.SelectorManager$ManagedSelector@78fb787f keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.io.SelectorManager$ManagedSelector@224dc69c keys=-1 selected=-1
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-10-selector-0] o.e.j.i.SelectorManager:418 - Starting Thread[WebSocketClient@396182852-10-selector-0,5,main] on org.eclipse.jetty.io.SelectorManager$ManagedSelector@78fb787f keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.io.SelectorManager$ManagedSelector@224dc69c keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-10-selector-0] o.e.j.i.SelectorManager:443 - Selector loop waiting on select
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.t.QueuedThreadPool:342 - WebSocketClient@396182852{STARTED,8<=8<=200,i=7,q=0} dispatched org.eclipse.jetty.io.SelectorManager$ManagedSelector@224dc69c keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.io.SelectorManager$ManagedSelector@7bfaa588 keys=-1 selected=-1
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-13-selector-1] o.e.j.i.SelectorManager:418 - Starting Thread[WebSocketClient@396182852-13-selector-1,5,main] on org.eclipse.jetty.io.SelectorManager$ManagedSelector@224dc69c keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.io.SelectorManager$ManagedSelector@7bfaa588 keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-13-selector-1] o.e.j.i.SelectorManager:443 - Selector loop waiting on select
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.t.QueuedThreadPool:342 - WebSocketClient@396182852{STARTED,8<=8<=200,i=6,q=0} dispatched org.eclipse.jetty.io.SelectorManager$ManagedSelector@7bfaa588 keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:184 - starting org.eclipse.jetty.io.SelectorManager$ManagedSelector@489c34f keys=-1 selected=-1
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-14-selector-2] o.e.j.i.SelectorManager:418 - Starting Thread[WebSocketClient@396182852-14-selector-2,5,main] on org.eclipse.jetty.io.SelectorManager$ManagedSelector@7bfaa588 keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.io.SelectorManager$ManagedSelector@489c34f keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-14-selector-2] o.e.j.i.SelectorManager:443 - Selector loop waiting on select
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.t.QueuedThreadPool:342 - WebSocketClient@396182852{STARTED,8<=8<=200,i=5,q=0} dispatched org.eclipse.jetty.io.SelectorManager$ManagedSelector@489c34f keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.websocket.client.io.WebSocketClientSelectorManager@1cbbbc31
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-15-selector-3] o.e.j.i.SelectorManager:418 - Starting Thread[WebSocketClient@396182852-15-selector-3,5,main] on org.eclipse.jetty.io.SelectorManager$ManagedSelector@489c34f keys=0 selected=0
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.websocket.client.io.ConnectionManager@36f6de04
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-15-selector-3] o.e.j.i.SelectorManager:443 - Selector loop waiting on select
2017-06-12 14:23:04 | INFO  | [main] o.e.j.w.c.WebSocketClient:196 - Started org.eclipse.jetty.websocket.client.WebSocketClient@179d4544
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.c.AbstractLifeCycle:177 - STARTED org.eclipse.jetty.websocket.client.WebSocketClient@179d4544
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.w.c.WebSocketClient:136 - connect websocket:com.hospitality.hp.visma.client.WebSocketListener@d69c3e2 to:ws://localhost:9900
2017-06-12 14:23:04 | DEBUG | [main] o.e.j.u.t.QueuedThreadPool:342 - WebSocketClient@396182852{STARTED,8<=8<=200,i=4,q=0} dispatched FutureCallback@4e310d66{true,false,null}
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-11] o.e.j.i.SelectorManager:379 - Queued change org.eclipse.jetty.io.SelectorManager$ManagedSelector$Connect@2bb8ad23
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-10-selector-0] o.e.j.i.SelectorManager:446 - Selector loop woken up from select, 0/0 selected
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-10-selector-0] o.e.j.i.SelectorManager:406 - Running change org.eclipse.jetty.io.SelectorManager$ManagedSelector$Connect@2bb8ad23
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-10-selector-0] o.e.j.i.SelectorManager:443 - Selector loop waiting on select
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-10-selector-0] o.e.j.i.SelectorManager:446 - Selector loop woken up from select, 1/1 selected
2017-06-12 14:23:04 | DEBUG | [WebSocketClient@396182852-10-selector-0] o.e.j.w.c.i.WebSocketClientSelectorManager:56 - Connection Failed
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.eclipse.jetty.io.SelectorManager.finishConnect(SelectorManager.java:257)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processConnect(SelectorManager.java:529)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processKey(SelectorManager.java:502)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.select(SelectorManager.java:455)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.run(SelectorManager.java:420)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:596)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:527)
    at java.lang.Thread.run(Thread.java:745)
2017-06-12 14:23:04 | INFO  | [WebSocketClient@396182852-10-selector-0] c.h.h.v.c.WebSocketListener:94 - onWebSocketError:  
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.eclipse.jetty.io.SelectorManager.finishConnect(SelectorManager.java:257)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processConnect(SelectorManager.java:529)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processKey(SelectorManager.java:502)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.select(SelectorManager.java:455)
    at org.eclipse.jetty.io.SelectorManager$ManagedSelector.run(SelectorManager.java:420)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:596)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:527)
    at java.lang.Thread.run(Thread.java:745)

Here is my logback.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="AUDITFILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/visma-websocket-client.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logs/visma-websocket-client_%d{yyyy-MM-dd}.%i.log
            </fileNamePattern>
            <maxHistory>10</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>20MB</maxFileSize>

            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>%date %msg%n
            </pattern>
        </encoder>
    </appender>

    <root level="DEBUG">
         <appender-ref ref="AUDITFILE" />
    </root>

</configuration>

Can someone give me hint how i can reduce this unused logging as it creating a lot of disk space when program is running. I am wondering is it possible to enable disable this jetty log from application or by adding some parameter in logback.xml file

If you want to completely disable just the logs from jetty you can add the following line:

<configuration>
...
    <logger name="org.eclipse.jetty" level="OFF" />
....
</configuration>

You can also change it to ERROR if you want just the error level messages.

Increasing the <root level="DEBUG"> to a higher level will affect the whole application and aslo the logs from jetty.

<root level="INFO">
         <appender-ref ref="AUDITFILE" />
</root>

This should work. You can further increase the level in your xml file to WARN, ERROR or FATAL.

All the log statements are printed since the root logger has DEBUG level and is associated with the AUDITFILE appender.

You can set different logging levels or appenders based on packages. In your case, add the following line within the configuration element.

<logger name="org.eclipse.jetty" level="WARN"/>

This will make any log statement from the packages that start as org.eclipse.jetty to use a logging level of WARN. Meaning only WARN statements or above will be logged. Set the level to "OFF" to disable logging for the package.

In case you would still want the statements but in a different appender then you can do,

<logger name="org.eclipse.jetty" additivity="false">
    <appender-ref ref="AUDIT_FILE_NEW" />
</logger>

Assume that AUDIT_FILE_NEW is another appender implementation that logs to another file or to console. Here additivity is set to false, so that the statements are logged only to the AUDIT_FILE_NEW appender. In case additivity was not set, then it defaults to true, which means the logger will inherit from the root logger. And the statements will be logged to both AUDIT_FILE and AUDIT_FILE_NEW appenders.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM