Table of Contents
loggen — Generate syslog messages at a specified rate
loggen
[options]target
[port]
NOTE: The loggen application is distributed with the syslog-ng system logging application, and is usually part of the syslog-ng package. The latest version of the syslog-ng application is available at the syslog-ng page.
This manual page is only an abstract, for the complete documentation of syslog-ng, see the syslog-ng Documentation page.
The loggen application is 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: Average rate the messages were sent 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.
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.
Send the statistics of the sent messages to stdout as CSV. This can be used for plotting the message rate.
Use datagram socket (UDP or unix-dgram) to send the messages to the target. Requires the --inet
option as well.
Do not parse the lines read from the input files, send them as received.
Display a brief help message.
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
Use the TCP (by default) or UDP (when used together with the --dgram
option) protocol to send the messages to the target.
The number of seconds loggen will run. Default value: 10
Note that when the --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.
Specify the destination using its IPv6 address. Note that the destination must have a real IPv6 address.
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 of messages to generate.
Note that when the --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.
Do not use the framing of the IETF-syslog protocol style, even if the syslog-proto
option is set.
Output statistics only when the execution of loggen is finished. If not set, the statistics are displayed every second.
Keep sending logs indefinitely, without time limit.
The number of messages generated per second for every active connection. Default value: 1000
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 -
Send the argument of the --sdata
option as the SDATA part of IETF-syslog (RFC5424 formatted) messages. Use it together with the --syslog-proto
option. For example: --sdata "[test name=\"value\"]
The size of a syslog message in bytes. Default value: 256. Minimum value: 127 bytes, maximum value: 8192 bytes.
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: 3
Use a stream socket (TCP or unix-stream) to send the messages to the target.
Use the new IETF-syslog message format as specified in RFC5424. By default, loggen uses the legacy BSD-syslog message format (as described in RFC3164). See also the --no-framing
option.
Use a UNIX domain socket to send the messages to the target.
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.
Display version number of syslog-ng.
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 -
For the detailed documentation of syslog-ng OSE see the syslog-ng Documentation page
If you experience any problems or need help with syslog-ng, visit the syslog-ng mailing list.
For news and notifications about of syslog-ng, visit the syslog-ng blogs.
© 2025 One Identity LLC. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center