mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-02 04:20:50 +08:00
- Add ErrorLogsMaxFiles config field with default value 10 - Support hot-reload via config file changes - Add Management API: GET/PUT/PATCH /v0/management/error-logs-max-files - Maintain SDK backward compatibility with NewFileRequestLogger (3 params) - Add NewFileRequestLoggerWithOptions for custom error log retention When request logging is disabled, forced error logs are retained up to the configured limit. Set to 0 to disable cleanup.
26 lines
1.2 KiB
Go
26 lines
1.2 KiB
Go
// Package logging re-exports request logging primitives for SDK consumers.
|
|
package logging
|
|
|
|
import internallogging "github.com/router-for-me/CLIProxyAPI/v6/internal/logging"
|
|
|
|
const defaultErrorLogsMaxFiles = 10
|
|
|
|
// RequestLogger defines the interface for logging HTTP requests and responses.
|
|
type RequestLogger = internallogging.RequestLogger
|
|
|
|
// StreamingLogWriter handles real-time logging of streaming response chunks.
|
|
type StreamingLogWriter = internallogging.StreamingLogWriter
|
|
|
|
// FileRequestLogger implements RequestLogger using file-based storage.
|
|
type FileRequestLogger = internallogging.FileRequestLogger
|
|
|
|
// NewFileRequestLogger creates a new file-based request logger with default error log retention (10 files).
|
|
func NewFileRequestLogger(enabled bool, logsDir string, configDir string) *FileRequestLogger {
|
|
return internallogging.NewFileRequestLogger(enabled, logsDir, configDir, defaultErrorLogsMaxFiles)
|
|
}
|
|
|
|
// NewFileRequestLoggerWithOptions creates a new file-based request logger with configurable error log retention.
|
|
func NewFileRequestLoggerWithOptions(enabled bool, logsDir string, configDir string, errorLogsMaxFiles int) *FileRequestLogger {
|
|
return internallogging.NewFileRequestLogger(enabled, logsDir, configDir, errorLogsMaxFiles)
|
|
}
|