[syslog-ng] syslog-ng 3.7.3 with Java enable Can't find class when startup

Ho, Ming Mingho at visa.com
Wed May 4 02:11:14 CEST 2016


Hi,

I use the following conf file to start syslog-ng 3.7.3 complied with Java supported version and got the following error:

# syslog-ng -f /opt/syslog-ng/syslog-ng.conf
[2016-05-03T23:13:54.191256] Can't find class; class_name='org/syslog_ng/SyslogNgClassLoader'
**
ERROR:modules/java/native/java_machine.c:126:java_machine_get_class_loader: assertion failed: (self->loader)

syslog-ng.conf:
@version: 3.7
@include "scl.conf"
@module mod-java

source s_syslog {
   syslog();
};

destination d_elastic {
   java(
      class_path("/usr/lib64/syslog-ng/java-modules/*.jar:/usr/share/elasticsearch/lib/*.jar")
      class_name("org.syslog_ng.elasticsearch.ElasticSearchDestination")
      option("index", "syslog-ng_${YEAR}.${MONTH}.${DAY}")
      option("type", "test")
      option("client-mode", "transport")
      option("server", "sl73ovnapd018")
      option("port", "9200")
      option("flush-limit", "10")
   );
};

log {
   source(s_syslog);
   destination(d_elastic);
   flags(flow-control);
};


I found previous post from last year with the exact same error: https://github.com/balabit/syslog-ng/issues/620

According to the post the problem was make install fail to copy  "syslog-ng-core.jar" and/or "syslog-ng-common.jar" to target directory. Including these two files in the directory referenced by the class_path should solve the problem.

I have these two files included in my class_path already but still got the same error:
-rw-r--r-- 1 root root 11411 May  2 06:50 /usr/lib64/syslog-ng/java-modules/syslog-ng-core.jar
-rw-r--r-- 1 root root 12536 May  2 06:51 /usr/lib64/syslog-ng/java-modules/syslog-ng-common.jar

Any help is highly appreciated.

Ming Ho



More information about the syslog-ng mailing list