Logfilegen is a fast and highly customizable tool to generate common server (nginx, etc) or user-defined format log files to make fake workloads for data ingest or analytics programs. You can generate log file with the desired rate (lines per second), the file size, lines count and the duration. Each variable of the log file can be redefined by the random or static value. logfilegen depends just on GCC or Clang with C++11 support, and, optionally, cmake.
Homepage
Download
Recent Releases
3.0.210 Apr 2023 08:58
major bugfix:
* @seq macro fix. Syntax change!
Was: @seq:param1:param2:etc
Now: @seq:param1 param2 etc
3.0.109 Apr 2023 09:31
major bugfix:
* @meta macro fixes
* randomizer code has been rewritten
3.0.008 Apr 2023 12:26
major feature:
This release introduces the multithread support (performance improved), fixes mac and win building, and many more.
2.3.002 Mar 2023 18:26
major feature:
+ CMake support optimization
+ HaikuOS support (compile with make --makefile=Makefile.Haiku
+ Mac ARM support (compile with make --makefile=Makefile.macarm
* randomization engine take less resources
2.2.026 Feb 2023 20:26
major feature:
This release makes logfilegen possible to build on old compiler versions. Now logfilegen needs C++11 instead of C++17.
2.1.024 Feb 2023 13:51
major bugfix:
+ outdated GCC ( 9.1.0) support (CMake)
* console possibly overflow fixes
* ENV variables now in the UPPER CASE only
* CMake is preferrable way to build logfilegen
2.0.022 Feb 2023 16:31
major feature:
+ Metrics support. logfilegen can expose metrics, turned on by default. Get the metrics in Prometheus format at localhost:8080/metrics, and see the self-hosted statistics page at localhost:8080 (via http).
+ Results support. logfilegen can write final statistics to the file or stdout (--results=filename), in a given format (--resuilts_string=format string).
* Cmake support improvements (Clang, static build, etc).
* A lot of fixes.
* Documentation update.
1.2.008 Feb 2023 13:30
major feature:
This release adds a new, simplifier version of the benchmark: --test
A some sort of quick benchmark at full speed, using the default template for the current mode (nginx by default), one step of the log rotation; output to the temporary file at system's temporary directory (the output log will be deleted after all is done). Result, in lines per second, may vary depended on the randomizer engine work and use of gzip.
Useful to run on the clean installation, when we have no configs and templates yet.
Fixes: log rotation queue minimal length is 1 now, i.e. one log file + at least one rotation file, if needed.
1.1.006 Feb 2023 13:12
major feature:
What's new?
The new release is slighty faster. Two new macros were added: @meta and @seq. All of them are described at the documentation, here in a short - @meta allows to combine several macros into one, so we can use more than one macro at the simple (non-sequenced) variable value. And @seq can be used to use sequences at macro, as in the usual variable value.
1.0.030 Jan 2023 16:14
major feature:
The first major release. All documented things must work as intended.