View Flask server logs from local or remote server. Shows real-time or recent log entries for debugging. Use when monitoring server activity, debugging issues, or checking server status.
Views logs from Flask servers (local or remote) to monitor activity, debug issues, and check server status. Supports real-time streaming and historical log viewing.
Invoke this skill when the user:
Local server:
Remote server:
Real-time streaming (follows log as it grows):
cd path/to/server/imp/py
tail -f server.log
Last 20 lines:
tail -20 server.log
Last 50 lines:
tail -50 server.log
All logs:
cat server.log
Search logs:
grep "ERROR" server.log
grep "api/ping" server.log
grep "POST" server.log
Real-time streaming:
ssh microserver@185.96.221.52 "tail -f ~/nøøb/experiments/firefly/apps/firefly/product/server/imp/py/server.log"
Last 20 lines:
ssh microserver@185.96.221.52 "tail -20 ~/nøøb/experiments/firefly/apps/firefly/product/server/imp/py/server.log"
Search remote logs:
ssh microserver@185.96.221.52 "grep 'ERROR' ~/nøøb/experiments/firefly/apps/firefly/product/server/imp/py/server.log"
Local logs:
Remote logs:
Flask logs typically show:
127.0.0.1 - - [05/Oct/2024 18:15:23] "GET /api/ping HTTP/1.1" 200 -
127.0.0.1 - - [05/Oct/2024 18:15:24] "POST /api/posts HTTP/1.1" 200 -
Format:
Successful requests:
grep "200" server.log
Errors:
grep -E "(ERROR|500|404)" server.log
Specific endpoint:
grep "/api/ping" server.log
Recent activity:
tail -20 server.log
POST requests only:
grep "POST" server.log
Claude can read logs directly:
# Last 20 lines
tail -20 server.log
# Search for specific issue
grep "ERROR" server.log
This enables Claude to:
"No such file or directory":
ls -la server.logLogs not updating:
lsof -ti:8080Too much output:
tail instead of cat for large logsgrep for specific patternsCan't access remote logs:
ssh microserver@185.96.221.52 "ls"~/nøøb/experiments/firefly/apps/firefly/product/server/imp/py/server.logFlask can log at different levels:
Flask development server logs most requests at INFO level.
Local:
# Clear log file
> server.log
# Or delete and recreate
rm server.log
touch server.log
Remote:
ssh microserver@185.96.221.52 "> ~/nøøb/experiments/firefly/apps/firefly/product/server/imp/py/server.log"
This is useful before testing to see only new logs.
Follow logs and filter:
tail -f server.log | grep "ERROR"
Count requests per endpoint:
grep -o "/api/[a-z]*" server.log | sort | uniq -c
Show only errors:
grep -E "ERROR|500" server.log
Last hour of logs (if timestamps in log):
# Depends on log format
grep "$(date +%H:)" server.log
Foreground server (python3 app.py):
Background server (./start.sh):
For Firefly server specifically:
When using tail -f:
For production servers, implement log rotation:
logrotate utility on Linux/macOSFor development, manual clearing is sufficient.
tail -f is most useful for active debugging