java: Post messages over HTTP using Java
Version 3.7 of AxoSyslog can directly post log messages to web services using the HTTP protocol. Error and status messages received from the HTTP server are forwarded to the internal logs of AxoSyslog. The current implementation has the following limitations:
-
Only HTTP connections are supported, HTTPS is not.
-
This destination requires Java. For an
http
destination that does not use Java, see http: Post messages over HTTP without Java.
Declaration:
java(
class-path("/syslog-ng/install_dir/lib/syslog-ng/java-modules/*.jar")
class-name("org.syslog_ng.http.HTTPDestination")
option("url", "http://<server-address>:<port-number>")
);
Example: Sending log data to a web service
The following example defines an http
destination.
destination d_http {
java(
class-path("/syslog-ng/install_dir/lib/syslog-ng/java-modules/*.jar")
class-name("org.syslog_ng.http.HTTPDestination")
option("url", "http://192.168.1.1:80")
);
};
log
{ source(s_file); destination(d_http); flags(flow-control); };
Note
If you delete all Java destinations from your configuration and reload
syslog-ng
, the JVM is not used anymore, but it is still running. If you want to stop JVM, stop syslog-ng
and then start syslog-ng
again.
Last modified December 18, 2024: Merge pull request #90 from axoflow/minor-fixes-241218 (68cd7df)