Logging
Log Levels
Pipeleek uses structured logging with the following levels:
trace: Most detailed logging, includes all operationsdebug: Detailed information for debugginginfo: General informational messageswarn: Warning messages for potential issueshit: Custom level for security findings - indicates a potential secret or credential has been detectederror: Error messages for failures
Log Formats
Pipeleek supports two output formats for logs: Console (default) and JSON. You can control the format using the --json flag.
Console Format (Default)
The console format is human-readable and color-coded for easy visual parsing. Each log entry displays:
Color coding: Different colors for each log level (can be disabled with --color=false). Coloring is automatically disabled when using a logfile --logfile
JSON Format
The JSON format outputs each log entry as a structured JSON object on a single line, making it ideal for log aggregation systems, parsing, and automation.
Custom hit level: Security findings are marked with "level":"hit"
Usage:
Log File Output
You can direct log output to a file using the --logfile or -l flag. This works with both console and JSON formats.
Controlling Log Levels
You can control which log messages are displayed using the --log-level flag or the --verbose shortcut:
Important: The hit level is always shown regardless of the --log-level setting, as it indicates critical security findings.
Interactive Log Level
You can change interactively between log levels by pressing t: Trace, d: Debug, i: info, w: Warn, e: Error.
💡Tip: Some commands like the scan commands support a status shortcut. Pressing
swill output their current status.
ELK Integration
To easily analyze the results you can redirect the pipeleek output using nc into Logstash.
Setup a local ELK stack using https://github.com/deviantony/docker-elk.
Then you can start a scan:
Using Kibana you can filter for interesting messages, based on the JSON attributes of the output.