# LogWisp Configuration Template # Default location: ~/.config/logwisp.toml # # Configuration precedence (highest to lowest): # 1. Command-line arguments # 2. Environment variables (LOGWISP_ prefix) # 3. This configuration file # 4. Built-in defaults [monitor] # File check interval (milliseconds) # Lower = more responsive, higher CPU usage # Environment: LOGWISP_MONITOR_CHECK_INTERVAL_MS # CLI: --check-interval MS check_interval_ms = 100 # Monitor targets # Environment: LOGWISP_MONITOR_TARGETS="path:pattern:isfile,path2:pattern2:isfile" # CLI: logwisp [path[:pattern[:isfile]]] ... [[monitor.targets]] path = "./" # Directory or file path pattern = "*.log" # Glob pattern (ignored for files) is_file = false # true = file, false = directory # # Example: Specific file # [[monitor.targets]] # path = "/var/log/app.log" # pattern = "" # is_file = true # # Example: System logs # [[monitor.targets]] # path = "/var/log" # pattern = "*.log" # is_file = false [tcpserver] # Raw TCP streaming server (gnet) # Environment: LOGWISP_TCPSERVER_ENABLED # CLI: --enable-tcp enabled = false # TCP port # Environment: LOGWISP_TCPSERVER_PORT # CLI: --tcp-port PORT port = 9090 # Per-client buffer size # Environment: LOGWISP_TCPSERVER_BUFFER_SIZE # CLI: --tcp-buffer-size SIZE buffer_size = 1000 # TLS/SSL settings (not implemented in PoC) ssl_enabled = false ssl_cert_file = "" ssl_key_file = "" [tcpserver.heartbeat] # Enable/disable heartbeat messages # Environment: LOGWISP_TCPSERVER_HEARTBEAT_ENABLED enabled = false # Heartbeat interval in seconds # Environment: LOGWISP_TCPSERVER_HEARTBEAT_INTERVAL_SECONDS interval_seconds = 30 # Include timestamp in heartbeat # Environment: LOGWISP_TCPSERVER_HEARTBEAT_INCLUDE_TIMESTAMP include_timestamp = true # Include server statistics (active connections, uptime) # Environment: LOGWISP_TCPSERVER_HEARTBEAT_INCLUDE_STATS include_stats = false # Format: "json" only for TCP # Environment: LOGWISP_TCPSERVER_HEARTBEAT_FORMAT format = "json" [httpserver] # HTTP/SSE streaming server (fasthttp) # Environment: LOGWISP_HTTPSERVER_ENABLED # CLI: --enable-http enabled = true # HTTP port # Environment: LOGWISP_HTTPSERVER_PORT # CLI: --http-port PORT (or legacy --port) port = 8080 # Per-client buffer size # Environment: LOGWISP_HTTPSERVER_BUFFER_SIZE # CLI: --http-buffer-size SIZE (or legacy --buffer-size) buffer_size = 1000 # TLS/SSL settings (not implemented in PoC) ssl_enabled = false ssl_cert_file = "" ssl_key_file = "" [httpserver.heartbeat] # Enable/disable heartbeat messages # Environment: LOGWISP_HTTPSERVER_HEARTBEAT_ENABLED enabled = true # Heartbeat interval in seconds # Environment: LOGWISP_HTTPSERVER_HEARTBEAT_INTERVAL_SECONDS interval_seconds = 30 # Include timestamp in heartbeat # Environment: LOGWISP_HTTPSERVER_HEARTBEAT_INCLUDE_TIMESTAMP include_timestamp = true # Include server statistics (active clients, uptime) # Environment: LOGWISP_HTTPSERVER_HEARTBEAT_INCLUDE_STATS include_stats = false # Format: "comment" (SSE comment) or "json" (data message) # Environment: LOGWISP_HTTPSERVER_HEARTBEAT_FORMAT format = "comment" # Production example: # [tcpserver] # enabled = true # port = 9090 # buffer_size = 5000 # # [httpserver] # enabled = true # port = 443 # buffer_size = 5000 # ssl_enabled = true # ssl_cert_file = "/etc/ssl/certs/logwisp.crt" # ssl_key_file = "/etc/ssl/private/logwisp.key"