<commit_before>![lologgen logo](http://i.imgur.com/xv2D2lE.png)

![Go report card](http://goreportcard.com/badge/ftwynn/gologgen)

gologgen is a generic log generator written in go. I'm writing it because I want to learn golang, and there was a need for a universal, well documented fake log generator at my job. As such, please let me know if I've done anything poorly, because anything I learn now will help me suck less in the future.

I'm also leaving the entire commit history here (at least for now), so that others can point and laugh at my mistakes... and maybe some newbie will see how badly you have to start at something before you get better (eventually? undetermined at this moment...).

## Installation

You can use the builds in any directory on the appropriate platform (setting the linux and osx builds to executable before you do). In addition to the binary, a config directory **must** be next to it with the config file format defined below.

## Configuration

The first needed file is gologgen.conf, which stores global variables in a JSON object. A working example is in the repo's config directory with all of the parameters filled out, but here are the current options:
<commit_msg>Add CI badge<commit_after>![lologgen logo](http://i.imgur.com/xv2D2lE.png)

![Go report card](http://goreportcard.com/badge/ftwynn/gologgen) ![Travis Build Badge](https://travis-ci.org/FTWynn/gologgen.svg?branch=master)

gologgen is a generic log generator written in go. I'm writing it because I want to learn golang, and there was a need for a universal, well documented fake log generator at my job. As such, please let me know if I've done anything poorly, because anything I learn now will help me suck less in the future.

I'm also leaving the entire commit history here (at least for now), so that others can point and laugh at my mistakes... and maybe some newbie will see how badly you have to start at something before you get better (eventually? undetermined at this moment...).

## Installation

You can use the builds in any directory on the appropriate platform (setting the linux and osx builds to executable before you do). In addition to the binary, a config directory **must** be next to it with the config file format defined below.

## Configuration

The first needed file is gologgen.conf, which stores global variables in a JSON object. A working example is in the repo's config directory with all of the parameters filled out, but here are the current options:

{'fraction_non_alphanumeric': 0.06144578313253012, 'fraction_numerical': 0.001606425702811245, 'mean_word_length': 4.403470715835141, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1129237', 'n_tokens_mistral': 651, 'n_tokens_neox': 630, 'n_words': 383}