Hi, I'm having difficulty configuring JsonLayout for appenders. I have the following in my log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout> <Pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n </Pattern> </PatternLayout> </Console> <RollingFile name="RollingFile" fileName="${sys:solr.log.dir}/solr.log" filePattern="${sys:solr.log.dir}/solr.log.%i" > <JsonLayout complete="false" compact="true" eventEol="true" /> <Policies> <OnStartupTriggeringPolicy /> <SizeBasedTriggeringPolicy size="32 MB"/> </Policies> <DefaultRolloverStrategy max="10"/> </RollingFile> <RollingFile name="SlowFile" fileName="${sys:solr.log.dir}/solr_slow_requests.log" filePattern="${sys:solr.log.dir}/solr_slow_requests.log.%i" > <PatternLayout> <Pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n </Pattern> </PatternLayout> <Policies> <OnStartupTriggeringPolicy /> <SizeBasedTriggeringPolicy size="32 MB"/> </Policies> <DefaultRolloverStrategy max="10"/> </RollingFile> </Appenders> <Loggers> <Logger name="org.apache.hadoop" level="warn"/> <Logger name="org.apache.solr.update.LoggingInfoStream" level="off"/> <Logger name="org.apache.zookeeper" level="warn"/> <Logger name="org.apache.solr.core.SolrCore.SlowRequest" level="info" additivity="false"> <AppenderRef ref="SlowFile"/> </Logger> <Root level="debug"> <AppenderRef ref="RollingFile"/> <AppenderRef ref="STDOUT"/> </Root> </Loggers> </Configuration> For some reason it just stops logging anything. I only get the solr_gc.log and not the expected solr.log. I see an old thread mentioning the exact same issue (except that solr.log isn't even created in my case) but it wasn't resolved there. See here: http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201809.mbox/%3cdb5pr0101mb211949c76c5c39472ecdff87f4...@db5pr0101mb2119.eurprd01.prod.exchangelabs.com%3e I see this behaviour with both SOLR 7 and 8. Am I missing something? Help is much appreciated. - Tijmen This was the original message: -----Ursprüngliche Nachricht----- Von: Shawn Heisey <apa...@elyograg.org> Gesendet: Freitag, 7. September 2018 17:58 An: solr-user@lucene.apache.org Betreff: Re: Solr 7.4 and log4j2 JSONLayout On 9/6/2018 7:46 AM, Michael Aleythe, Sternwald wrote: > I'm trying to edit the log4j2 logging configuration for solr. The goal is to > get a log file in json format. I configured the the JSONLayout for this purpose inside the rollingFile appender in the log4j2.xml. After this solr stops logging entirely. Solr.log file is empty. Only the solr-8983-console.log file contains 10 lines. The line "2018-09-06 13:22:25.378:INFO:oejs.Server:main: Started @2814ms" is the last one. > My first guess was that the jackson-core and jackson-databind jars were > missing, but that did not fix the problem. As Varun said, jackson is already included in Solr. You won't need to add any jars for that. > Does anyone know where to find error-messages or exceptions that point me > towards whats going wrong here? Start Solr in the foreground, with the -f option. This will cause Solr to log to the console. When Solr is started in the background, it suppresses console logging. I see that you have changed the logfile rollover size to 1MB. If your Solr server sees much traffic, this is going to result in an extremely fast rollover, which may mean that you lose access to logged events VERY quickly. This will especially be the case with JSON logging -- each event will take up a lot more space. Thanks, Shawn