Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vcputtini/pflogentry

A small object library capable of interpreting the log entries generated by PFSense(tm) and manipulating this data.
https://github.com/vcputtini/pflogentry

analizer cpp cpp17 filterlog firewall lib library parse parser pfsense

Last synced: about 1 month ago
JSON representation

A small object library capable of interpreting the log entries generated by PFSense(tm) and manipulating this data.

Awesome Lists containing this project

README

        

## PFLogentry
Instead of creating a complete program to analyze the PFSense(tm) log files I found it more convenient for my needs to create a small library of objects able to interpret the log entries and from there allow the manipulation of this data.
This is not a generic library and has not been tested in environments other than the one used in its development.

PFLogentry was coded entirely in C++.

As I consider QtCreator(tm) to be an excellent development environment,

I use it for my projects, even if these don't directly involve using the Qt(tm) tools.

### Dependencies for Compilation:
- At least C++17.

- Boost

- tinyxml2-7.0.1

### My Environment
- Fedora 35

- clang (clang++) version 13.0.0

- g++ (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)

(Under Oracle Linux 8 install gcc-devtool-10 or 8.5 install gcc-devtool-11)

- cmake version 3.22.0

- QtCreator 6.0.x (Code Style: clang-format -style=Mozilla)

### Basic Operations

- Loads entire log file into memory;
- Check that the log entries are with the correct format;
- Allows counting of log entries given a condition.

For example:
cnt->count(PFLogentry::HdrDay).betweenAND(20,30);

Returns the total of entries read that are between the 20th and the 30th inclusive.
- Allows query of log entries given a condition.

- Allows the summarization of information from log entries generating reports.

- Allows export of log entries to a XML file format.