A .NET console application that simulates multiple applications generating rolling log files with randomized timing and developer-themed messages. Perfect for testing log monitoring systems, storage solutions, or log analysis tools.
- Go to the Releases page
- Download the latest
LoggerApplication.exefile - The download is an executable
LoggerApplication.exeand is ready to use
note that most operating systems will block the direct execution of downloaded files, so you may need to make the file executable via File Properties, or chmod +x command.
You can download the latest executable directly here: Insight-NA/log-file-generator/releases.
note that most operating systems will block the direct execution of downloaded files, so you may need to make the file executable via File Properties, or chmod +x command.
gh release download --repo Insight-NA/log-file-generator --pattern "LoggerApplication.zip"- Create a
params.txtfile with your desired configurations (see below) - Run the application:
LoggerApplication.exe params.txt
- Press
Ctrl+Cto stop when done
The application uses a parameter file (default: params.txt) to configure multiple simulated applications. Each line represents one application logger.
# Comment lines start with #
<avgMillisecondsBetweenLogs> <maxFileSizeMB> <logDirectory>
- avgMillisecondsBetweenLogs: Average milliseconds between log messages (randomized ±50%)
- maxFileSizeMB: Maximum file size in MB before creating a new log file
- logDirectory: Directory where logs will be written (created automatically if needed)
# Fast logger - generates logs every ~100ms with 1MB file limit
100 1 ./logs/app1
# Medium logger - generates logs every ~200ms with 2MB file limit
200 2 ./logs/app2
# Slow logger - generates logs every ~500ms with 5MB file limit
500 5 ./logs/app3LoggerApplication.exeThis uses params.txt in the current directory.
LoggerApplication.exe myconfig.txt# Simulate three microservices
50 2 C:\Logs\WebAPI
100 5 C:\Logs\AuthService
200 10 C:\Logs\DataProcessorLog files are named using the format: yyyyMMdd-HHmm.log
Example: 20251213-1430.log
If multiple files are created in the same minute, a suffix is added: 20251213-1430_1.log, 20251213-1430_2.log, etc.
Each log entry follows this format:
yyyy-MM-dd HH:mm:ss.fff GUID Phrase1 Phrase2
Example:
2025-12-13 14:30:15.234 a1b2c3d4-e5f6-7890-abcd-ef1234567890 It works on my machine. Code never lies, comments sometimes do.
Each simulated application prefixes its console output with its name:
[app1] 2025-12-13 14:30:15.234 ...
[app2] 2025-12-13 14:30:15.456 ...
[app3] 2025-12-13 14:30:15.789 ...
When a log file reaches the specified size limit, the application automatically:
- Closes the current file
- Creates a new file with an updated timestamp
- Continues logging to the new file
Press Ctrl+C to gracefully stop all loggers. The application will:
- Stop generating new log messages
- Close all open file handles
- Display "Stopping loggers..." and "All loggers stopped."
- Windows 10 or later (x64)
- No additional dependencies required (self-contained executable)
Interested in contributing? See CONTRIBUTING.md for development setup, testing, and how to submit pull requests.
This project is provided as-is for testing and demonstration purposes.