#!/bin/bash

LOG_FILE="${LOG_FILE:-/tmp/app.log}"
DEBUG_MODE="${DEBUG_MODE:-true}"

log_info() {
    local msg="$1"
    if [[ "$DEBUG_MODE" == "true" ]]; then
        echo "[$(date "+%Y-%m-%d %H:%M:%S")] [INFO] $msg" >> "$LOG_FILE"
    fi
}

log_warning() {
    local msg="$1"
    if [[ "$DEBUG_MODE" == "true" ]]; then
        echo "[$(date "+%Y-%m-%d %H:%M:%S")] [WARNING] $msg" >> "$LOG_FILE"
    fi
}

log_error() {
    local msg="$1"
    if [[ "$DEBUG_MODE" == "true" ]]; then
        echo "[$(date "+%Y-%m-%d %H:%M:%S")] [ERROR] $msg" >> "$LOG_FILE"
    fi
}

log_read() {
    if [[ -f "$LOG_FILE" ]]; then
        cat "$LOG_FILE"
    else
        echo "Plik logu nie istnieje: $LOG_FILE"
    fi
}

log_clear() {
    > "$LOG_FILE"
    echo "Plik logu wyczyszczony: $LOG_FILE"
}

log_stats() {
    if [[ ! -f "$LOG_FILE" ]]; then
        echo "Plik logu nie istnieje: $LOG_FILE"
        return 1
    fi
    
    echo "=================================="
    echo "  STATYSTYKI LOGÓW"
    echo "=================================="
    echo "Plik: $LOG_FILE"
    echo "Łączna liczba wpisów: $(wc -l < "$LOG_FILE")"
    echo ""
    echo "Wg poziomu:"
    echo "  INFO:    $(grep -c '\[INFO\]' "$LOG_FILE" 2>/dev/null || echo 0)"
    echo "  WARNING: $(grep -c '\[WARNING\]' "$LOG_FILE" 2>/dev/null || echo 0)"
    echo "  ERROR:   $(grep -c '\[ERROR\]' "$LOG_FILE" 2>/dev/null || echo 0)"
    echo "=================================="
}