Hi Florian,

I don’t know the answer to your specific question, but I would like to suggest 
a different approach. Excuse me in advance, I usually hate suggesting different 
approaches.

The reason why I suggest a different approach is because logging via HTTP can 
be blocking a thread e.g. until a timeout. I wrote a bit more here: 
https://sematext.com/blog/logging-libraries-vs-log-shippers/

In your particular case, I would let Solr log normally (to stdout) and have 
something pick the logs up from the Docker socket. I’m used to Logagent (see 
https://sematext.com/docs/logagent/installation-docker/) which can parse Solr 
logs out of the box (see 
https://github.com/sematext/logagent-js/blob/master/patterns.yml#L140). But 
there are other options, like Fluentd or Logstash.

Best regards,
Radu

> On 17 Jun 2020, at 10:33, Krönert Florian <florian.kroen...@orbis.de> wrote:
> 
> Hello everyone,
>  
> We want to log our queries to a HTTP endpoint and tried configuring our log4j 
> settings accordingly.
> We are using Solr inside Docker with the official Solr image (version 
> solr:8.3.1).
>  
> As soon as we add a http appender, we receive errors on startup and solr 
> fails to start completely:
>  
> 2020-06-17T07:06:54.976390509Z DEBUG StatusLogger 
> JsonLayout$Builder(propertiesAsList="null", objectMessageAsJsonObject="null", 
> ={}, eventEol="null", compact="null", complete="null", locationInfo="null", 
> properties="true", includeStacktrace="null", stacktraceAsString="null", 
> includeNullDelimiter="null", ={}, charset="null", footerSerializer=null, 
> headerSerializer=null, Configuration(/var/solr/log4j2.xml), footer="null", 
> header="null")
> 2020-06-17T07:06:55.121825039Z 2020-06-17 
> 07:06:55.104:WARN:oejw.WebAppContext:main: Failed startup of context 
> o.e.j.w.WebAppContext@611df6e3{/solr,file:///opt/solr-8.3.1/server/solr-webapp/webapp/,UNAVAILABLE}{/opt/solr-8.3.1/server/solr-webapp/webapp}
> 2020-06-17T07:06:55.121856339Z java.lang.NoClassDefFoundError: Failed to 
> initialize Apache Solr: Could not find necessary SLF4j logging jars. If using 
> Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For 
> other containers, the corresponding directory should be used. For more 
> information, see: http://wiki.apache.org/solr/SolrLogging
>  
> It seems that only when using the http appender these jars are needed, 
> without this appender everything works.
> Can you point me in the right direction, where I need to place the needed 
> jars? Seems to be a little special since I only access the /var/solr mount 
> directly, the rest is running in docker.
>  
> Kind Regards,
>  
> Florian Krönert 
> Senior Software Developer
> 
> 
> 
> ORBIS AG | Planckstraße 10 | D-88677 Markdorf
> Phone: +49 7544 50398 21 | Mobile: +49 162 3065972 | E-Mail: 
> florian.kroen...@orbis.de 
> www.orbis.de
> 
> 
>     
> 
> Registered Seat: Saarbrücken
> Commercial Register Court: Amtsgericht Saarbrücken, HRB 12022
> Board of Management: Thomas Gard (Chairman), Michael Jung, Stefan Mailänder, 
> Frank Schmelzer 
> Chairman of the Supervisory Board: Ulrich Holzer    
>                
>  
> 
>  
> 
> 

Reply via email to