Full SQL Support
SELECT, WHERE, GROUP BY, HAVING, ORDER BY, JOINs, UNION, Subqueries, Window Functions, and CASE WHEN expressions.
Like jq, but for logs. A modern, cross-platform replacement for Microsoft Log Parser 2.2.
# Query a CSV file
loq "SELECT name, age FROM users.csv WHERE age > 30 ORDER BY age DESC"
# Analyze web server logs
loq -i:W3C "SELECT cs-uri-stem, COUNT(*) FROM access.log GROUP BY cs-uri-stem"
# Generate a chart
loq -o:CHART -chartType:Bar --ofile:status.png \
"SELECT status, COUNT(*) FROM logs.csv GROUP BY status"
# Query S3 data
loq -i:S3 "SELECT * FROM 's3://bucket/logs/*.csv' WHERE level = 'ERROR'"| Feature | MS Log Parser 2.2 | loq |
|---|---|---|
| Platform | Windows only | Windows, macOS, Linux |
| Performance | Baseline | 2-5x faster |
| Window Functions | No | Yes |
| Subqueries | Limited | Full support |
| JOINs | Basic | INNER, LEFT, CROSS |
| Cloud Integration | No | S3, CloudWatch, Parquet |
| Container Support | No | Docker, Kubernetes |
| Active Development | Abandoned | Active |
# Using Homebrew (coming soon)
brew install loq
# From source
cargo install loq# Using Scoop (coming soon)
scoop install loq
# From source
cargo install loqdocker pull loq/loq:latest
docker run --rm -v $(pwd):/data loq "SELECT * FROM /data/file.csv"-- Aggregations
SELECT department, COUNT(*), AVG(salary)
FROM employees.csv
GROUP BY department
HAVING COUNT(*) > 5;
-- Window functions
SELECT name, salary,
RANK() OVER (PARTITION BY dept ORDER BY salary DESC) as rank
FROM employees.csv;
-- JOINs
SELECT u.name, o.total
FROM users.csv u
INNER JOIN orders.csv o ON u.id = o.user_id;
-- Subqueries
SELECT * FROM products.csv
WHERE price > (SELECT AVG(price) FROM products.csv);loq supports 20+ input formats out of the box:
| Format | Description | Example |
|---|---|---|
| CSV | Comma-separated values | loq "SELECT * FROM data.csv" |
| JSON | JSON and NDJSON | loq -i:JSON "SELECT * FROM data.json" |
| W3C | IIS W3C extended logs | loq -i:W3C "SELECT * FROM access.log" |
| EVTX | Windows Event Logs | loq -i:EVTX "SELECT * FROM System.evtx" |
| S3 | Amazon S3 objects | loq -i:S3 "SELECT * FROM 's3://bucket/key'" |
| FS | Filesystem metadata | loq -i:FS "SELECT * FROM '/var/log'" |