---
name: "metalog"
section: "8"
platform: "linux"
package: "metalog"
version: "20260221-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/metalog"
---

# metalog(8)

an alternative syslog daemon

## NAME

metalog - an alternative syslog daemon

## SYNTAX

metalog \[*options*\]

## DESCRIPTION

Metalog is a modern replacement for syslogd and klogd. The logged messages can be dispatched according to their facility, urgency, program name and/or Perl-compatible regular expressions. Log files can be automatically rotated when they exceed a certain size or age. External shell scripts (ex: mail) can be launched when specific patterns are found.

Logs are written according to RFC3164, RFC5423 or a minimal format with optional severity levels.

It can send its logs to remote syslog servers via UDP. It can gather info from the kernel or /dev/log as well as from several Unix Domain Sockets. This allows logging from chrooted or containerized applications.

Metalog is easier to configure than syslogd and syslog-ng, accepts unlimited number of rules and has (switchable) memory bufferisation for maximal performance.

## OPTIONS

- **-a**, **--async**

  Improve performance by using buffers (bug log files won't get updated in real time). Can be overridden for individual logs.

- **-B**, **--daemonize**

  Have the server start in background (daemonization).

- **-c**, **--consolelevel**=***0..7***

  Set the console log level (Linux only).

- **-C**, **--configfile**=***file***

  Use an alternate configuration file.

- **-g**, **--group**=***group***

  Change the GID of the metalog process. Created files will be owned by this group.

- **-h**, **--help**

  Output help information and exit.

- **-N**, **--no-kernel**

  Do not attempt to log messages from the kernel.

- **-p**, **--pidfile**=***file***

  Use an alternate file to store the process number.

- **-S**, **--socket**=***path***

  Use an alternate socket path for main syslog listener.

- **-s**, **--sync**, **--synchronous**

  Start in synchronous mode, with no bufferization. Can be overridden for individual logs.

- **-t**, **--test-config**

  Exit after parsing the config file(s). Returns 0 if config is ok.

- **-v**, **--verbose**

  Run in verbose mode (useful for debugging behavior).

- **-V**, **--version**

  Display metalog version information.

## SIGNALS

- **SIGUSR1**

  Enable synchronous mode.

- **SIGUSR2**

  Disable synchronous mode.

## FILES

Note that the exact paths depend on the build settings.  These are the standard paths.

```
/etc/metalog.conf
/var/run/metalog.pid
/dev/log
```

## AUTHORS

```
Mike Frysinger <vapier@gentoo.org>
Laurent Wandrebeck (low) <wandre.l@free.fr>
Leo Lipelis <aeoo@gentoo.org>
Hendrik Visage <hvisage@users.sourceforge.net>
Frank DENIS (Jedi/Sector One) <j@pureftpd.org>
```

## SEE ALSO

[**metalog.conf**(5)](/metalog.conf/5.md)
