mihkels / fake-log-generator

Python CLI tool to generate fake Apache logs using the Faker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fake Apache/Nginx Log Generator

This script generates a boatload of fake apache logs very quickly. Its useful for generating fake workloads for data ingest and/or analytics applications.

It can write log lines to console, to log files or directly to gzip files.

It utilizes the excellent Faker library to generate realistic ip's, URI's etc.


Basic Usage

Generate a single log line to STDOUT

$ python apache-fake-log-gen.py  

Generate 100 log lines into a .log file

$ python apache-fake-log-gen.py -n 100 -o LOG 

Generate 100 log lines into a .gz file

$ python apache-fake-log-gen.py -n 100 -o GZ 

Infinite log file generation (useful for testing File Tail Readers)

$ python apache-fake-log-gen.py -n 0 -o LOG 

Prefix the output filename

$ python apache-fake-log-gen.py -n 100 -o LOG -p WEB1

Outfile name and directory set and maximum delay between log line writes

$ python apache-fake-log-gen.py -n 10 -o LOG -o logs --filename apache-access --max-dealy 1000 

Detailed help

$ python apache-fake-log-gen.py -h
usage: apache-fake-log-gen.py [-h] [--output {LOG,GZ,CONSOLE}]
                              [--num NUM_LINES] [--prefix FILE_PREFIX]

Fake Apache Log Generator

optional arguments:
  -h, --help            show this help message and exit
  --output {LOG,GZ,CONSOLE}, -o {LOG,GZ,CONSOLE}
                        Write to a Log file, a gzip file or to STDOUT
  --num NUM_LINES, -n NUM_LINES
                        Number of lines to generate (0 for infinite)
  --prefix FILE_PREFIX, -p FILE_PREFIX
                        Prefix the output file name

Requirements

  • Python 3.11
  • pip install -r requirements.txt

License

This script is released under the Apache version 2 license.

About

Python CLI tool to generate fake Apache logs using the Faker

License:Apache License 2.0


Languages

Language:Python 100.0%