Forgot to expand the webapps/WEB-INF/lib jars as well…

root@8ad4f1dcd125:/usr/local/tomcat# find ./ -type f -name logging.properties
./conf/logging.properties
./webapps/corporativo-comum/WEB-INF/lib/org/springframework/boot/logging/java/logging.properties

So there’s springboot's logging.properties. Should it really affect tomcat’s 
logging?

> Em 29 de set. de 2023, à(s) 16:18, Alcides Moraes <alcides.n...@gmail.com> 
> escreveu:
> 
> Hi Christopher,
> 
> Thanks for the suggestion, we do add some jars to Tomcat lib (mainly 
> Prometheus, Hazelcast)
> I expanded every jar inside tomcat/lib and ran a find command.
> 
> root@05ae85e03d7d:/# find ./ -type f -name logging.properties
> ./usr/local/tomcat/conf/logging.properties
> ./opt/java/openjdk/conf/logging.properties
> 
> The only other logging.properties is the one from JDK. I tried changing its 
> content just to see if that was what was being used, but it had no effect.
> 
> So the issue still remains, but we have worked around it by configuring 
> tomcat to use log4j2 as per this documentation: 
> https://logging.apache.org/log4j/2.x/log4j-appserver.html
>  
> With this and the log4j-jul bridge, all logs are now formatted correctly.
> 
>> Em 29 de set. de 2023, à(s) 08:56, Christopher Schultz 
>> <ch...@christopherschultz.net> escreveu:
>> 
>> Alcides,
>> 
>> On 9/28/23 14:55, Alcides Moraes wrote:
>>> Hello everyone,
>>> I’m new to the list even though I’ve been a Java web developer for many 
>>> years, I’ve never had the need to post here, but this time I think I may 
>>> have stumbled upon a bug, and nothing turns up online on this issue.
>>> We’re migrating our containerized legacy webapps from Java 8/11 to Java 17. 
>>> They all ran on Tomcat 8.5, now we’re upgrading to 9.
>>> We customize a base image from tomcat:9.0.80-jdk17-temurin-focal. Amongst 
>>> other things, we add a logging.properties to customize tomcat’s log format.
>>> This always worked well, but after our upgrade to Java 17, there’s a weird 
>>> behavior that has stumped us.
>>> During Tomcat’s startup, the logs are formatted correctly as we specify in 
>>> logging.properties. However, after a certain point in the logs, the logs 
>>> revert to the “default” JUL/JULI format.
>>> Apart from this, everything works as expected. But we need the formatted 
>>> logs because we parse them with LogStash and OpenSearch.
>>> Here’s an excerpt of the logs when this happens:
>>> local-corporativo-comum-1  | 2023-09-27T18:57:34.188 INFO 
>>> [org.apache.coyote.http11.Http11NioProtocol] (thread-1) Initializing 
>>> ProtocolHandler ["http-nio-8080"]
>>> local-corporativo-comum-1  | 2023-09-27T18:57:34.266 INFO 
>>> [org.apache.catalina.startup.Catalina] (thread-1) Server initialization in 
>>> [3419] milliseconds
>>> local-corporativo-comum-1  | 2023-09-27T18:57:34.606 INFO 
>>> [com.hazelcast.config.UrlXmlConfig] (thread-1) Configuring Hazelcast from 
>>> 'file:/usr/local/tomcat/conf/hazelcast-local.xml'.
>>> local-corporativo-comum-1  | 2023-09-27T18:57:36.775 INFO 
>>> [org.apache.catalina.core.StandardService] (thread-1) Starting service 
>>> [Catalina]
>>> local-corporativo-comum-1  | 2023-09-27T18:57:36.789 INFO 
>>> [org.apache.catalina.core.StandardEngine] (thread-1) Starting Servlet 
>>> engine: [Secure Web Server]
>>> local-corporativo-comum-1  | 2023-09-27T18:57:36.863 INFO 
>>> [org.apache.catalina.startup.HostConfig] (thread-1) Diretório de instalação 
>>> da aplicação web [/usr/local/tomcat/webapps/corporativo-comum]
>>> local-corporativo-comum-1  | 2023-09-27T18:57:52.647 INFO 
>>> [br.leg.senado.util.tomcat.DataSourceFactory] (thread-1) Criando instância 
>>> do datasource corporativo-comumDS
>>> local-corporativo-comum-1  | set. 27, 2023 6:57:55 PM 
>>> br.leg.senado.util.tomcat.DataSourceFactory getObjectInstance
>>> local-corporativo-comum-1  | INFORMAÇÕES: Criando instância do datasource 
>>> monitoraaplDS
>>> local-corporativo-comum-1  | set. 27, 2023 6:57:55 PM 
>>> org.apache.catalina.core.ApplicationContext log
>>> local-corporativo-comum-1  | INFORMAÇÕES: 1 Spring 
>>> WebApplicationInitializers detected on classpath
>>> local-corporativo-comum-1  | set. 27, 2023 6:57:55 PM 
>>> org.apache.catalina.core.ApplicationContext log
>>> local-corporativo-comum-1  | INFORMAÇÕES: Initializing Spring root 
>>> WebApplicationContext
>>> local-corporativo-comum-1  | 18:57:55.751 [main] INFO 
>>> org.springframework.web.context.ContextLoader - Root WebApplicationContext: 
>>> initialization started
>>> The red text is tomcat logging using the defaults (which localize log 
>>> levels to our locale which is pt-br).
>>> I suspect that the point where this happens is when the webapp is being 
>>> initialized. A webapp shouldn’t be able to interfere with Tomcat’s log 
>>> behavior, right?
>>> The webapp does not use JUL, it uses logback, and it logs correctly during 
>>> and after its startup.
>>> The logs you see @ 18:57:52 that says “Criando instância...” are of custom 
>>> datasource resources specified in a context.xml file.
>>> They have a custom factory class, passed from a custom jar in tomcat's 
>>> class path.
>>> This jar has worked and logged correctly since ever, we didn’t even 
>>> recompile them to Java 17, we kept them as they were (Java 8).
>>> I’ve tried changing the way this component logs, by calling org.apache.juli 
>>> instead of java.util.logging, removed all logging whatsoever, but nothing 
>>> changes this behavior.
>>> Any suggestions on debugging this? If you need more info don’t hesitate to 
>>> ask.
>>> Thanks in advance for any help on this.
>> 
>> I feel like I've heard of things like this happening before. It had 
>> something to do with an application re-initializing and having a private 
>> logging.properties file which ended up updating the global logging 
>> configuration.
>> 
>> Can you search the entire (container's) disk for logging.properties files 
>> /and also all the JAR files you are using/ to see if there is a stray file 
>> somewhere that could be picked-up at some point after initial boot?
>> 
>> -chris
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>> 
> 

Reply via email to