forked from aegis/pyserveX
feat: Enhance logging configuration with support for multiple log files and formats; improve CLI help output
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# Example extended logging configuration for PyServe
|
||||
# Support for multiple files and logger-based separation
|
||||
|
||||
logging:
|
||||
# Main logging level (applies by default)
|
||||
level: DEBUG # DEBUG, INFO, WARNING, ERROR, CRITICAL
|
||||
|
||||
# Enable/disable console output
|
||||
console_output: true
|
||||
|
||||
# Global formatting settings (applied to console and files unless overridden)
|
||||
format:
|
||||
type: standard # standard or json
|
||||
use_colors: true # Use colors (recommended false for files)
|
||||
show_module: true # Show module name
|
||||
timestamp_format: "%Y-%m-%d %H:%M:%S" # Timestamp format
|
||||
|
||||
# Specific settings for console output
|
||||
console:
|
||||
level: INFO # You can specify a separate level for the console
|
||||
format:
|
||||
type: standard # standard or json
|
||||
use_colors: true # Colors in the console are usually helpful
|
||||
show_module: true
|
||||
timestamp_format: "%H:%M:%S" # Short timestamp format for console
|
||||
|
||||
# Logging file settings (you can specify multiple files)
|
||||
files:
|
||||
# Main log file - all logs
|
||||
- path: "./logs/pyserve.log"
|
||||
level: DEBUG
|
||||
loggers: [] # Empty list means all loggers
|
||||
max_bytes: 10485760 # 10MB (default)
|
||||
backup_count: 5 # Number of backup files (default)
|
||||
format:
|
||||
type: standard
|
||||
use_colors: false
|
||||
show_module: true
|
||||
|
||||
# JSON log for automated analysis
|
||||
- path: "./logs/pyserve.json"
|
||||
level: INFO
|
||||
loggers: []
|
||||
format:
|
||||
type: json
|
||||
use_colors: false
|
||||
show_module: true
|
||||
|
||||
# Separate file for server logs
|
||||
- path: "./logs/server.log"
|
||||
level: DEBUG
|
||||
loggers: ["pyserve.server"] # Only logs from pyserve.server
|
||||
format:
|
||||
type: standard
|
||||
use_colors: false
|
||||
show_module: true
|
||||
|
||||
# Separate file for access logs
|
||||
- path: "./logs/access.log"
|
||||
level: INFO
|
||||
loggers: ["pyserve.access"] # Only access logs
|
||||
max_bytes: 5242880 # 5MB
|
||||
backup_count: 10
|
||||
format:
|
||||
type: standard
|
||||
use_colors: false
|
||||
show_module: false # For access logs module is not needed
|
||||
|
||||
# Separate file for error logs
|
||||
- path: "./logs/errors.log"
|
||||
level: ERROR
|
||||
loggers: [] # All errors from all loggers
|
||||
format:
|
||||
type: json # JSON for easy error parsing
|
||||
use_colors: false
|
||||
show_module: true
|
||||
|
||||
# Examples of various configurations:
|
||||
|
||||
# 1. Minimal configuration (backward compatibility):
|
||||
# logging:
|
||||
# level: INFO
|
||||
# console_output: true
|
||||
# files:
|
||||
# - path: "./logs/pyserve.log"
|
||||
# level: INFO
|
||||
# loggers: []
|
||||
|
||||
# 2. Only JSON logs:
|
||||
# logging:
|
||||
# level: INFO
|
||||
# console_output: false
|
||||
# files:
|
||||
# - path: "./logs/pyserve.json"
|
||||
# format:
|
||||
# type: json
|
||||
|
||||
# 3. Separation by log type:
|
||||
# logging:
|
||||
# level: DEBUG
|
||||
# console_output: true
|
||||
# files:
|
||||
# - path: "./logs/general.log"
|
||||
# level: INFO
|
||||
# loggers: []
|
||||
# - path: "./logs/server.log"
|
||||
# level: DEBUG
|
||||
# loggers: ["pyserve.server", "pyserve.routing"]
|
||||
# - path: "./logs/access.log"
|
||||
# level: INFO
|
||||
# loggers: ["pyserve.access"]
|
||||
# - path: "./logs/errors.json"
|
||||
# level: ERROR
|
||||
# loggers: []
|
||||
# format:
|
||||
# type: json
|
||||
|
||||
# 4. Console without colors, different formats for files:
|
||||
# logging:
|
||||
# level: DEBUG
|
||||
# console_output: true
|
||||
# console:
|
||||
# format:
|
||||
# use_colors: false
|
||||
# files:
|
||||
# - path: "./logs/standard.log"
|
||||
# format:
|
||||
# type: standard
|
||||
# - path: "./logs/structured.json"
|
||||
# format:
|
||||
# type: json
|
||||
Reference in New Issue
Block a user