loggen(1)

πŸ’– loggen(1) β€” the loggen manual page πŸ’–

okay bestie, pull up a chair, we're talking about loggen, the syslog-ng stress-testing girlypop. πŸŽ€


✨ NAME ✨

loggen --- Generate syslog messages at a specified rate


✨ SYNOPSIS ✨

loggen [options]

target [port]

✨ DESCRIPTION ✨

NOTE: The loggen application is distributed with the syslog-ng OSE system logging application, and is usually part of the syslog-ng OSE package. The latest version of the syslog-ng OSE application is available at the syslog-ng OSE page.

This manual page is only an abstract. (iykyk, it's the vibe summary, not the whole saga.)

The loggen application is a tool to test and stress-test your syslog server and the connection to the server. It can send syslog messages to the server at a specified rate using a number of connection types and protocols, including TCP, UDP, and unix domain sockets. The messages can be generated automatically (repeating the PADD string over and over), or read from a file or the standard input. πŸ’…

When loggen finishes sending the messages, it displays the following statistics:

  • average rate: The average rate of the sent messages in messages/second.
  • count: The total number of messages sent.
  • time: The time required to send the messages in seconds.
  • average message size: The average size of the sent messages in bytes.
  • bandwidth: The average bandwidth used for sending the messages in kilobytes/second.

✨ OPTIONS ✨

  • --active-connections <number-of-connections> β€” Number of connections loggen will use to send messages to the destination. This option is usable only when using TCP or TLS connections to the destination. Default value: 1. The loggen utility waits until every connection is established before starting to send messages. See also the --idle-connections option.
  • --csv or -C β€” Send the statistics of the sent messages to stdout as CSV. This can be used for plotting the message rate. πŸ“ˆ
  • --dgram or -D β€” Use datagram socket (UDP or unix-dgram) to send the messages to the target. Requires the --inet option as well.
  • --dont-parse or -d β€” Do not parse the lines read from the input files, send them as received.
  • --help or -h β€” Display a brief help message. 🫢
  • --idle-connection <number-of-connections> β€” Number of idle connections loggen will establish to the destination. Note that loggen will not send any messages on idle connections, but the connection is kept open using keep-alive messages. This option is usable only when using TCP or TLS connections to the destination. See also the --active-connections option. Default value: 0
  • --inet or -i β€” Use the TCP (by default) or UDP (when used together with the --dgram option) protocol to send the messages to the target.
  • --interval <seconds> or -I <seconds> β€” The number of seconds loggen will run. Default value: 10
NOTE: When --interval and --number are used together, loggen will send messages until the period set in --interval expires or the amount of messages set in --number is reached, whichever happens first.
  • --ipv6 or -6 β€” Specify the destination using its IPv6 address. Note that the destination must have a real IPv6 address.
  • --loop-reading or -l β€” Read the file specified in --read-file option in loop: loggen will start reading from the beginning of the file when it reaches the end of the file. πŸ”
  • --number <number-of-messages> or -n <number-of-messages> β€” Number of messages to generate.
NOTE: When --interval and --number are used together, loggen will send messages until the period set in --interval expires or the amount of messages set in --number is reached, whichever happens first.
  • --no-framing or -F β€” Do not use the framing of the IETF-syslog protocol style, even if the --syslog-proto option is set.
  • --quiet or -Q β€” Display statistics only when loggen is finished. If not set, the statistics are displayed every second. 🀫
  • --permanent or -T β€” Keep sending logs indefinitely, without time limit.
  • --rate <message/second> or -r <message/second> β€” The number of messages generated per second for every active connection. Default value: 1000

If you want to change the message rate while loggen is running, send SIGUSR1 to double the message rate, or SIGUSR2 to halve it:

kill `-USR1 <loggen-pid>kill` `-USR2 <loggen-pid>`
  • --read-file <filename> or -R <filename> β€” Read the messages from a file and send them to the target. See also the --skip-tokens option. Specify - as the input file to read messages from the standard input (stdio). Note that when reading messages from the standard input, loggen can only use a single thread. The -R -parameters must be placed at end of command, like: loggen 127.0.0.1 1061 --read-file -
  • --sdata <data-to-send> or -p <data-to-send> β€” Send the argument of the --sdata option as the SDATA part of IETF-syslog (RFC-5424 formatted) messages. Use it together with the --syslog-proto option.

For example:

--sdata "[test name=\"value\"]
  • --size <message-size> or -s <message-size> β€” The size of a syslog message in bytes. Default value: 256. Minimum value: 127 bytes, maximum value: 8192 bytes.
  • --skip-tokens <number> β€” Skip the specified number of space-separated tokens (words) at the beginning of every line. For example, if the messages in the file look like foo bar message, --skip-tokens 2 skips the foo bar part of the line, and sends only the message part. Works only when used together with the --read-file parameter. Default value: 0
  • --stream or -S β€” Use a stream socket (TCP or unix-stream) to send the messages to the target.
  • --syslog-proto or -P β€” Use the new IETF-syslog message format. By default, loggen uses the legacy BSD-syslog message format. See also the --no-framing option.
  • --unix </path/to/socket> or -x </path/to/socket> β€” Use a UNIX domain socket to send the messages to the target.
  • --use-ssl or -U β€” Use an SSL-encrypted channel to send the messages to the target. Note that it is not possible to check the certificate of the target, or to perform mutual authentication.
  • --version or -V β€” Display version number of syslog-ng.

🌸 EXAMPLES: 🌸

The following command generates 100 messages per second for ten minutes, and sends them to port 2010 of the localhost via TCP. Each message is 300 bytes long.

loggen --size 300 --rate 100 --interval 600 127.0.0.1 2010

The following command is similar to the one above, but uses the UDP protocol.

loggen --inet --dgram --size 300 --rate 100 --interval 600 127.0.0.1 2010

Send a single message on TCP6 to the ::1 IPv6 address, port 1061:

loggen --ipv6 --number 1 ::1 1061

Send a single message on UDP6 to the ::1 IPv6 address, port 1061:

loggen --ipv6 --dgram --number 1 ::1 1061

Send a single message using a unix domain-socket:

loggen --unix --stream --number 1 </path/to/socket>

Read messages from the standard input (stdio) and send them to the localhost:

loggen 127.0.0.1 1061 --read-file -

✨ FILES ✨

/Users/hofi/Develop/Balabit/syslog-ng/build/install/bin/loggen

NOTE: If you experience any problems or need help with syslog-ng OSE, see the syslog-ng OSE Administration Guide[1], or visit the syslog-ng OSE mailing list[2]. For news and notifications about syslog-ng OSE, visit the syslog-ng OSE blogs[3].

✨ AUTHOR ✨

This manual page was generated from the syslog-ng OSE Administration Guide[1], which was written by several contributors to whom we'd like to extend our sincere thanks. πŸ«ΆπŸ‘‘



✨ NOTES ✨


okay that's the whole thing, you're literally a loggen expert now πŸ’–βœ¨ this page is from syslog-ng OSE version 4.10.2, dated 18 December 2025, and it's loggen(1) β€” slay, go stress-test something responsibly bestie πŸ¦‹πŸ’…

πŸ“¦ where this page comes from