Welcome to log4view! This tool leverages the power of NetworkX and Plotly to transform raw logs into visually compelling network graphs, offering a new dimension to log data interpretation. Whether you're a network engineer, data scientist, or just curious about your log data, this program provides insightful visualizations that help you understand and explore complex networks.
Log4view is a tool for technical people who work with logs to view their data in a more visually stimulating way - in the hopes of bringing new insights and ideas. Log4view will generate up to 25 nodes per page, and an amount of pages to fit your data. The amount of nodes is hardcoded, but you can edit the variable, which isacceptable_number_of_nodes_in_page. Ideally you will work with up to a couple hundred logs, but if you choose to expand the above variables, the sky's the limit.
Log4view accepts a file path to your data, and a secondary key. The tool will then create main nodes made up of secondary keys, and sub-nodes of the main outer key of your data structure.
Do reach out here for any ideas and feedback - good or bad :)
- Interactive Visualizations: Navigate through complex network structures with dynamic, zoomable, and draggable graphs.
- Customizable Layouts: Utilize different layouts to organize your data meaningfully.
- Scalable: Capable of handling small to large-scale network logs.
- User-Friendly: Intuitive interfaces for both non-technical and technical users.
Follow these steps to run log4view on your local machine:
- Python 3.6+
- pip (Python package installer)
-
Clone the repository:
git clone https://github.com/Trivulzianus/log4view.git cd log4view -
Install the necessary packages:
pip install -r requirements.txt
To create a network graph from your logs, follow these simple steps:
- Prepare your log data.
- Run the program. You will be prompted to link the file path to your logs. You will also be required to enter a secondary key, which will be used to create the relationship between the nodes.
- Load the data into the program. Ensure your logs are in JSON or CSV format.
- Generate and explore the network graph.
python main.py <path_to_file>, <secondary_key>My project is modular to help you extend and modify it easily. Here's a brief overview of what each module does:
The heart of the visual interface, responsible for setting up and customizing the layout of the graph. Choose from various styles to tailor the visualization to your needs.
This module transforms processed data into visual graphs. Utilizing Plotly's capabilities, it creates interactive figures ready for exploration.
Handles the core logic, processing raw log data into structured graph representations using NetworkX. Define nodes, edges, and relationships effortlessly.
I welcome contributions! Whether it's bug reporting, feature requests, or proposing changes.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
This project is licensed under the MIT License.
Start untangling your logs and uncover hidden insights with log4view! If you have any questions or need assistance, feel free to open an issue or reach out to us. Enjoy exploring your network data!
