The default logback.xml from Mesh could use an Update in my Opinion.
So far, everything related to Mesh is getting logged into a single file.
Which would be somewhat fine, if it would not also contain way too much noise. That noise is:
A Log Entry for:
whenever a Endpoint is accessed
when a resource doesn't exist (anymore?) - Webroot for example
when a User is attempting to access a Node without Permissions
A Error/Full stack-trace for:
when a GraphQL Query is wrong (+ The entire GraphQL Query in the Message, which is in my case quite huge) - Especially annoying with Insomia or for debugging
when a Request is aborted by the User, the Response is apprently getting closed automatically by Vert.x. However, Mesh isn't checking that and attempts to write it anyways and fails. Not sure if I should make an own Ticket for that. Stacktrace:
ERROR [ContextImpl.java:345] - Unhandled exception
java.lang.IllegalStateException: Response is closed
at io.vertx.core.http.impl.HttpServerResponseImpl.checkValid(HttpServerResponseImpl.java:548) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.core.http.impl.HttpServerResponseImpl.end0(HttpServerResponseImpl.java:401) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:319) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:308) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextImplBase.unhandledFailure(RoutingContextImplBase.java:166) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:132) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:133) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextImpl.doFail(RoutingContextImpl.java:465) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextImpl.fail(RoutingContextImpl.java:166) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextWrapper.fail(RoutingContextWrapper.java:73) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextWrapper.fail(RoutingContextWrapper.java:73) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextWrapper.fail(RoutingContextWrapper.java:73) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextWrapper.fail(RoutingContextWrapper.java:73) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.RoutingContextWrapper.fail(RoutingContextWrapper.java:73) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.ext.web.impl.BlockingHandlerDecorator.lambda$handle$1(BlockingHandlerDecorator.java:53) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.core.impl.FutureImpl.setHandler(FutureImpl.java:79) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:289) ~[wkw-mesh-server-0.22.7.jar:na]
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:339) ~[wkw-mesh-server-0.22.7.jar:na]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) ~[wkw-mesh-server-0.22.7.jar:na]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) ~[wkw-mesh-server-0.22.7.jar:na]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) ~[wkw-mesh-server-0.22.7.jar:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) ~[wkw-mesh-server-0.22.7.jar:na]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[wkw-mesh-server-0.22.7.jar:na]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
Just these things alone make is really hard to debug your Application or detect System errors, since they usually get flooded away with these Messages.
Since it bugged me quite some, I located the Classes which produced most of the noise and forwarded them to an "access.log". This is more of an Example rather than a solid logback for everyone.
Problem
The default logback.xml from Mesh could use an Update in my Opinion. So far, everything related to Mesh is getting logged into a single file.
Which would be somewhat fine, if it would not also contain way too much noise. That noise is:
A Log Entry for:
A Error/Full stack-trace for:
Just these things alone make is really hard to debug your Application or detect System errors, since they usually get flooded away with these Messages.
Since it bugged me quite some, I located the Classes which produced most of the noise and forwarded them to an "access.log". This is more of an Example rather than a solid logback for everyone.