Fluentd
Search…
0.12
Java
The 'fluent-logger-java' library is used to post records from Java applications to Fluentd.
This article explains how to use the fluent-logger-java library.

Prerequisites

  • Basic knowledge of Java
  • Basic knowledge of Fluentd
  • Java 6 or higher

Installing Fluentd

Please refer to the following documents to install fluentd.

Modifying the Config File

Next, please configure Fluentd to use the forward Input plugin as its data source.
1
<source>
2
@type forward
3
port 24224
4
</source>
5
<match fluentd.test.**>
6
@type stdout
7
</match>
Copied!
Please restart your agent once these lines are in place.
1
# for rpm/deb only
2
$ sudo /etc/init.d/td-agent restart
Copied!

Using fluent-logger-java

First, please add the following lines to pom.xml. The logger's revision information can be found in CHANGES.txt.
1
<dependencies>
2
...
3
<dependency>
4
<groupId>org.fluentd</groupId>
5
<artifactId>fluent-logger</artifactId>
6
<version>${logger.version}</version>
7
</dependency>
8
...
9
</dependencies>
Copied!
Next, please insert the following lines into your application. Further information regarding the API can be found here.
1
import java.util.HashMap;
2
import java.util.Map;
3
import org.fluentd.logger.FluentLogger;
4
5
public class Main {
6
private static FluentLogger LOG = FluentLogger.getLogger("fluentd.test");
7
8
public void doApplicationLogic() {
9
// ...
10
Map<String, Object> data = new HashMap<String, Object>();
11
data.put("from", "userA");
12
data.put("to", "userB");
13
LOG.log("follow", data);
14
// ...
15
}
16
}
Copied!
Executing the script will send the logs to Fluentd.
1
$ java -jar test.jar
Copied!
The logs should be output to /var/log/td-agent/td-agent.log or stdout of the Fluentd process via the stdout Output plugin.

Production Deployments

Output Plugins

Various output plugins are available for writing records to other destinations:

High-Availability Configurations of Fluentd

For high-traffic websites (more than 5 application nodes), we recommend using a high availability configuration of td-agent. This will improve data transfer reliability and query performance.

Monitoring

Monitoring Fluentd itself is also important. The article below describes general monitoring methods for td-agent.
If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is a open source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.