I’ve tried to Google for this, but I’m not seeing anything that I understand (with my skill level on server management). We’re currently running Lucee CFML from this base image:
FROM lucee/lucee:5.3.7.47-light-nginx-tomcat9.0-jdk8-openjdk
And, when it starts-up, the JVM dumps thousands of lines of output to the console, which then get slurped into our log aggregation. Is there a JVM / JAVA_OPTIONS way for me to start the JVM up in “quiet mode” or “silent mode”, so that it only outputs errors not general informational values.
For example, I’ll see loads of stuff like this:
INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1d 10 Sep 2019]
INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.25] using APR version [1.6.5].
I’d love to not have those show up in my logs. Not only is this noisy, but it also costs money (log volume).
I should also mention that I think we start the JVM with supervisor:
[program:lucee]
command=/usr/local/tomcat/bin/catalina.sh run
Those come from Tomcat, so I’d check the docs there. Another good way to get rid of all that Tomcat output is to use the ortussolutions/commandbox image. We have full control over the servlet container (CommandBox/JBoss Undertow) and our ‘quiet mode’ is on by default
Yeah, trying to hone in the right Google keywords has been tricky since this is quite a bit below (in the stack) my level of understanding. As far as CommandBox, that ship may have sailed - if no other reason, I’m not technical enough with the server stuff to understand all the ramifications. But, will keep that in mind.
I’m a little confused as you seem to have figured out how to use the Lucee image just fine, and IMO it’s more difficult to configure and customize than the CommandBox one. Like, you’ve literally taken the harder road here and figured it out just fine, so I personally have faith in your ability to do even better with the CommandBox container The CommandBox image is going to do whatever the Lucee image does, but with
What you don’t see is the frantic legs just below the surface of the water Heck, even with CommandBox locally, I usually have to stop and start it a few times and try “forgetting” various servers before the right server even starts. That’s not a knock on CommandBox - only a demonstration of how comfortable I an in the code vs. getting the server started.
Sorry, to be clear, I do see the logging.properties file in the tomcat/conf folder. I was just unclear if you were saying I should edit that file directly; or, create a copy of it that would act as an override somewhere. It sounds like you are saying I should edit that directly.
Totally. In this case, I’ll actually be copying it into a Docker Image as part of the build process. So, if something goes wrong, I can just comment that line out and the old file will be left in place. I’m not great at Docker, really, but there’s already some Tomcat config stuff in the Dockerfile, so I’m just gonna follow what they do.