A modern, interactive web application for analyzing and visualizing log data. This tool allows users to paste log data and get an organized, sortable, and filterable table view of the logs.
- Parse and analyze structured log data
- Interactive table visualization
- No backend required - runs entirely in the browser
- Data privacy - all processing happens client-side
- Drag-and-drop column reordering
- Click-to-sort on any column
- Full-text search across all fields
- Responsive design for all screen sizes
Automatically extracts and organizes the following fields:
- Timestamp
- Log Level
- Message
- User
- Request ID
- Method (GET, POST, etc.)
- Path
- Status Code
- Duration
- API Name
- Size
- Parameters
- Node.js 18 or higher
- npm (comes with Node.js)
- Clone the repository
git clone https://github.com/astutic/log-analyzer.git
cd log-analyzer
- Install dependencies
npm install
- Start the development server
npm run dev
The application will be available at http://localhost:3100
To create a production build:
npm run build
-
Paste Logs
- Open the application in your browser
- Paste your log data into the textarea
- Click "Parse Logs" button
-
Analyze Data
- Use the search box to filter logs
- Click column headers to sort
- Drag column headers to reorder them
- View parsed data in an organized table format
-
Example Log Format
time="2024-12-30T18:20:16+05:30" level=debug msg="UserOrgMiddleware OrgDetails" request_id=1e8a13281158ee8f user=example@email.com
log-analyzer/
├── app/
│ ├── components/
│ │ └── LogAnalyzer.tsx
│ └── page.tsx
├── public/
├── .github/
│ └── workflows/
│ └── deploy.yml
└── next.config.js
- Next.js 14
- React
- Tailwind CSS
- shadcn/ui components
- @dnd-kit for drag and drop
- Lodash for data manipulation
The project is configured for automatic deployment to GitHub Pages using GitHub Actions.
- Push to the main branch triggers automatic deployment
- GitHub Actions builds and deploys to GitHub Pages
- Live site available at:
https://astutic.github.io/log-analyzer
- Build the project:
npm run build
- The static files will be in the
out
directory
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature
- Commit your changes:
git commit -am 'Add new feature'
- Push to the branch:
git push origin feature/new-feature
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check existing GitHub Issues
- Create a new issue if needed
- Provide log data example when reporting parsing issues