Skip to main content

Generates dummy logs based on configuration files

Project description

log_generator generates dummy logs based on configuration files.

usage: log-generator [-h] [--level LEVEL] [--truncate] /path/to/config

Generate log events

positional arguments:
  /path/to/config       Path to configuration directory

optional arguments:
  -h, --help            show this help message and exit
  --level LEVEL, -l LEVEL
                        Logging level
  --truncate, -t        Truncate the log files on start

Configuration File

Log generator uses a set of configuration files to define how to generate logs. You can see the schema for configuration files in log_generator/schema.yaml. There are 6 required properties: name, file, format, frequency, amount, and fields:

name:Name of the logs being generated (for logging purposes only)
file:The path to the file where to write the logs to
frequency:Time frame of how frequently to output logs
amount:Number of logs to create per tick
enabled:(optional) Boolean as to whether the configuration file should be used (default True)
offset:(optional) Time frame of the offset, from now, the timestamps should be
jitter:(optional) Time frame of the jitter the timestamps should be.
format:The format of the log
fields:A dictionary of fields to be substituted into the log format

Each property of fields should be one of the following types:

type:One of enum, timestamp, integer, float, chance, ip
repeat:(optional) Number of times to repeat the current value before generating (default 1)
change:(optional) Float probability [0..1] that the current value will change (default 1)
value:(optional) The initial value for the field
Enum (enum)

A list of values that have a uniform distribution of being selected.

values:List of possible options
Timestamp (timestamp)

A timestamp.

format:The format that the timestamp should have
Integer (integer)

A random integer value.

min:Minimum value of the integer
max:Maximum value of the integer
Float (float)

A random floating point value.

min:Minimum value of the float
max:Maximum value of the float
Chance (chance)

A set of options and associated weights to define the probability of being selected

choices:A list of objects with two properties: option and weight
 The value of the option
 The probability of being selected
IP Address (ip)
A randomly generated IP address.


Apache 2.4 Access:

name: Apache General Access
file: /var/log/httpd/apache_access
format: "{log_ip} - - [{log_time} +0000] \"{log_method} {log_path} HTTP/1.1\" {log_status} {log_bytes}"
  seconds: 5
  seconds: 0
  seconds: 5
amount: 50
    type: ip
    type: timestamp
    format: "%d/%b/%Y:%H:%M:%S"
    type: enum
    values: [POST, GET, PUT, PATCH, DELETE]
    type: enum
      - /auth
      - /alerts
      - /events
      - /playbooks
      - /lists
      - /fieldsets
      - /customers
      - /collectors
      - /parsers
      - /users
    type: enum
    values: [200, 201, 204, 300, 301, 400, 401, 403, 404, 500, 503]
    type: integer
    min: 2000
    max: 5000

Custom log:

name: Simulated Field Change
file: /var/log/server/status
format: "{log_time} server status: {log_colour}"
  seconds: 11
  seconds: 0
amount: 1
    type: timestamp
    format: "%Y-%m-%dT%H:%M:%SZ"
    type: chance
    repeat: 11
    change: 0.25
    value: green
      - option: red
        weight: 0.2
      - option: yellow
        weight: 0.2
      - option: green
        weight: 0.6

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for log-generator, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size log_generator-1.0.1-py3-none-any.whl (7.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size log_generator-1.0.1.tar.gz (5.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page