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 or file
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
- choices.*.option:
The value of the option
- choices.*.weight:
The probability of being selected
- IP Address (ip)
A randomly generated IP address.
Examples
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}"
frequency:
seconds: 5
offset:
seconds: 0
jitter:
seconds: 5
amount: 50
fields:
log_ip:
type: ip
log_time:
type: timestamp
format: "%d/%b/%Y:%H:%M:%S"
log_method:
type: enum
values: [POST, GET, PUT, PATCH, DELETE]
log_path:
type: enum
values:
- /auth
- /alerts
- /events
- /playbooks
- /lists
- /fieldsets
- /customers
- /collectors
- /parsers
- /users
log_status:
type: enum
values: [200, 201, 204, 300, 301, 400, 401, 403, 404, 500, 503]
log_bytes:
type: integer
min: 2000
max: 5000
Custom log:
name: Simulated Field Change
file: /var/log/server/status
format: "{log_time} server status: {log_colour}"
frequency:
seconds: 11
offset:
seconds: 0
amount: 1
fields:
log_time:
type: timestamp
format: "%Y-%m-%dT%H:%M:%SZ"
log_colour:
type: chance
repeat: 11
change: 0.25
value: green
choices:
- option: red
weight: 0.2
- option: yellow
weight: 0.2
- option: green
weight: 0.6
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file log_generator-1.0.2.tar.gz.
File metadata
- Download URL: log_generator-1.0.2.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c48cd1712dd03b96a05b90b3a89f2a1adaee932a12494b30e44bc7577fd6c0c4
|
|
| MD5 |
ca96cdea55b91ab75da68d75c6eb44d7
|
|
| BLAKE2b-256 |
69e59f11a257b003827a4896430c0e2e57c41f1823991b9cd1c0bbfa03133322
|
File details
Details for the file log_generator-1.0.2-py3-none-any.whl.
File metadata
- Download URL: log_generator-1.0.2-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69d7912e10cf6aff58dfda29054fa75ac2b0de817a5621020fd868333ba018f0
|
|
| MD5 |
3912ff1a340aad19ac1557059351ba6c
|
|
| BLAKE2b-256 |
adaa35f80bba2bf7c96ff1478c2cce5d95c5249c0bd8ce9a8a91dbf26ab8ca3a
|