---
name: "Log::Log4perl::Appender::RRDs"
section: "3pm"
platform: "linux"
package: "perl-log-log4perl"
version: "1.58-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Log::Log4perl::Appender::RRDs"
---

# Log::Log4perl::Appender::RRDs(3pm)

Log to a RRDtool Archive

## NAME

Log::Log4perl::Appender::RRDs - Log to a RRDtool Archive

## SYNOPSIS

```
    use Log::Log4perl qw(get_logger);
    use RRDs;

    my $DB = "myrrddb.dat";

    RRDs::create(
      $DB, "--step=1",
      "DS:myvalue:GAUGE:2:U:U",
      "RRA:MAX:0.5:1:120");

    print time(), "\n";

    Log::Log4perl->init(\qq{
      log4perl.category = INFO, RRDapp
      log4perl.appender.RRDapp = Log::Log4perl::Appender::RRDs
      log4perl.appender.RRDapp.dbname = $DB
      log4perl.appender.RRDapp.layout = Log::Log4perl::Layout::PatternLayout
      log4perl.appender.RRDapp.layout.ConversionPattern = N:%m
    });

    my $logger = get_logger();

    for(10, 15, 20, 25) {
        $logger->info($_);
        sleep 1;
    }
```

## DESCRIPTION

`"Log::Log4perl::Appender::RRDs"` appenders facilitate writing data to RRDtool round-robin archives via Log4perl. For documentation on RRD and its Perl interface `"RRDs"` (which comes with the distribution), check out \<http://rrdtool.org\>.

Messages sent to Log4perl's RRDs appender are expected to be numerical values (ints or floats), which then are used to run a `"rrdtool update"` command on an existing round-robin database. The name of this database needs to be set in the appender's `"dbname"` configuration parameter.

If there's more parameters you wish to pass to the `"update"` method, use the `"rrdupd_params"` configuration parameter:

```
    log4perl.appender.RRDapp.rrdupd_params = --template=in:out
```

To read out the round robin database later on, use `"rrdtool fetch"` or `"rrdtool graph"` for graphic displays.

## LICENSE

Copyright 2002-2026 by Mike Schilli \<m@perlmeister.com\> and Kevin Goess \<cpan@goess.org\>.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
