v0.3.11 doc update
This commit is contained in:
@ -11,6 +11,8 @@
|
|||||||
# background = false # Run as background daemon
|
# background = false # Run as background daemon
|
||||||
# quiet = false # Suppress all output
|
# quiet = false # Suppress all output
|
||||||
# disable_status_reporter = false # Disable periodic status logging
|
# disable_status_reporter = false # Disable periodic status logging
|
||||||
|
# config_auto_reload = false # Auto-reload on config change
|
||||||
|
# config_save_on_exit = false # Save config on shutdown
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# LOGGING (LogWisp's operational logs)
|
# LOGGING (LogWisp's operational logs)
|
||||||
@ -218,6 +220,14 @@ response_message = "Rate limit exceeded"
|
|||||||
# issuer = "" # Expected issuer
|
# issuer = "" # Expected issuer
|
||||||
# audience = "" # Expected audience
|
# audience = "" # Expected audience
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# HOT RELOAD
|
||||||
|
# ============================================================================
|
||||||
|
# Enable with: --config-auto-reload
|
||||||
|
# Manual reload: kill -HUP $(pidof logwisp)
|
||||||
|
# Updates pipelines, filters, formatters without restart
|
||||||
|
# Logging changes require restart
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# ROUTER MODE
|
# ROUTER MODE
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
@ -226,6 +236,13 @@ response_message = "Rate limit exceeded"
|
|||||||
# Access pattern: http://localhost:8080/{pipeline_name}/stream
|
# Access pattern: http://localhost:8080/{pipeline_name}/stream
|
||||||
# Global status: http://localhost:8080/status
|
# Global status: http://localhost:8080/status
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# SIGNALS
|
||||||
|
# ============================================================================
|
||||||
|
# SIGINT/SIGTERM: Graceful shutdown
|
||||||
|
# SIGHUP/SIGUSR1: Reload config (when auto-reload enabled)
|
||||||
|
# SIGKILL: Immediate shutdown
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# CLI FLAGS
|
# CLI FLAGS
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|||||||
16
doc/cli.md
16
doc/cli.md
@ -35,6 +35,19 @@ Suppress all output (overrides logging configuration) except sinks.
|
|||||||
Disable periodic status reporting.
|
Disable periodic status reporting.
|
||||||
- **Example**: `logwisp --disable-status-reporter`
|
- **Example**: `logwisp --disable-status-reporter`
|
||||||
|
|
||||||
|
### `--config-auto-reload`
|
||||||
|
Enable automatic configuration reloading on file changes.
|
||||||
|
- **Example**: `logwisp --config-auto-reload --config /etc/logwisp/config.toml`
|
||||||
|
- Monitors configuration file for changes
|
||||||
|
- Reloads pipelines without restart
|
||||||
|
- Preserves connections during reload
|
||||||
|
|
||||||
|
### `--config-save-on-exit`
|
||||||
|
Save current configuration to file on exit.
|
||||||
|
- **Example**: `logwisp --config-save-on-exit`
|
||||||
|
- Useful with runtime modifications
|
||||||
|
- Requires valid config file path
|
||||||
|
|
||||||
## Logging Options
|
## Logging Options
|
||||||
|
|
||||||
Override configuration file settings:
|
Override configuration file settings:
|
||||||
@ -172,9 +185,12 @@ logwisp --pipelines.0.name filtered \
|
|||||||
- `0`: Success
|
- `0`: Success
|
||||||
- `1`: General error
|
- `1`: General error
|
||||||
- `2`: Configuration file not found
|
- `2`: Configuration file not found
|
||||||
|
- `137`: SIGKILL received
|
||||||
|
|
||||||
## Signals
|
## Signals
|
||||||
|
|
||||||
- `SIGINT` (Ctrl+C): Graceful shutdown
|
- `SIGINT` (Ctrl+C): Graceful shutdown
|
||||||
- `SIGTERM`: Graceful shutdown
|
- `SIGTERM`: Graceful shutdown
|
||||||
|
- `SIGHUP`: Reload configuration (when auto-reload enabled)
|
||||||
|
- `SIGUSR1`: Reload configuration (when auto-reload enabled)
|
||||||
- `SIGKILL`: Immediate shutdown (exit code 137)
|
- `SIGKILL`: Immediate shutdown (exit code 137)
|
||||||
@ -20,6 +20,8 @@ LogWisp supports three configuration methods with the following precedence:
|
|||||||
| Show version | `--version` | `LOGWISP_VERSION` | `version = true` |
|
| Show version | `--version` | `LOGWISP_VERSION` | `version = true` |
|
||||||
| Quiet mode | `--quiet` | `LOGWISP_QUIET` | `quiet = true` |
|
| Quiet mode | `--quiet` | `LOGWISP_QUIET` | `quiet = true` |
|
||||||
| Disable status reporter | `--disable-status-reporter` | `LOGWISP_DISABLE_STATUS_REPORTER` | `disable_status_reporter = true` |
|
| Disable status reporter | `--disable-status-reporter` | `LOGWISP_DISABLE_STATUS_REPORTER` | `disable_status_reporter = true` |
|
||||||
|
| Config auto-reload | `--config-auto-reload` | `LOGWISP_CONFIG_AUTO_RELOAD` | `config_auto_reload = true` |
|
||||||
|
| Config save on exit | `--config-save-on-exit` | `LOGWISP_CONFIG_SAVE_ON_EXIT` | `config_save_on_exit = true` |
|
||||||
| Config file | `--config <path>` | `LOGWISP_CONFIG_FILE` | N/A |
|
| Config file | `--config <path>` | `LOGWISP_CONFIG_FILE` | N/A |
|
||||||
| Config directory | N/A | `LOGWISP_CONFIG_DIR` | N/A |
|
| Config directory | N/A | `LOGWISP_CONFIG_DIR` | N/A |
|
||||||
| **Logging** |
|
| **Logging** |
|
||||||
@ -52,6 +54,29 @@ Note: `N` represents array indices (0-based).
|
|||||||
3. User config: `~/.config/logwisp/logwisp.toml`
|
3. User config: `~/.config/logwisp/logwisp.toml`
|
||||||
4. Current directory: `./logwisp.toml`
|
4. Current directory: `./logwisp.toml`
|
||||||
|
|
||||||
|
## Hot Reload
|
||||||
|
|
||||||
|
LogWisp supports automatic configuration reloading without restart:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Enable hot reload
|
||||||
|
logwisp --config-auto-reload --config /etc/logwisp/config.toml
|
||||||
|
|
||||||
|
# Manual reload via signal
|
||||||
|
kill -HUP $(pidof logwisp) # or SIGUSR1
|
||||||
|
```
|
||||||
|
|
||||||
|
Hot reload updates:
|
||||||
|
- Pipeline configurations
|
||||||
|
- Filters
|
||||||
|
- Formatters
|
||||||
|
- Rate limits
|
||||||
|
- Router mode changes
|
||||||
|
|
||||||
|
Not reloaded (requires restart):
|
||||||
|
- Logging configuration
|
||||||
|
- Background mode
|
||||||
|
|
||||||
## Configuration Structure
|
## Configuration Structure
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
@ -107,6 +132,28 @@ options = { ... }
|
|||||||
|
|
||||||
Each `[[pipelines]]` section defines an independent processing pipeline.
|
Each `[[pipelines]]` section defines an independent processing pipeline.
|
||||||
|
|
||||||
|
### Pipeline Formatters
|
||||||
|
|
||||||
|
Control output format per pipeline:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[pipelines]]
|
||||||
|
name = "json-output"
|
||||||
|
format = "json" # raw, json, text
|
||||||
|
|
||||||
|
[pipelines.format_options]
|
||||||
|
# JSON formatter
|
||||||
|
pretty = false
|
||||||
|
timestamp_field = "timestamp"
|
||||||
|
level_field = "level"
|
||||||
|
message_field = "message"
|
||||||
|
source_field = "source"
|
||||||
|
|
||||||
|
# Text formatter
|
||||||
|
template = "[{{.Timestamp | FmtTime}}] [{{.Level | ToUpper}}] {{.Message}}"
|
||||||
|
timestamp_format = "2006-01-02T15:04:05Z07:00"
|
||||||
|
```
|
||||||
|
|
||||||
### Sources
|
### Sources
|
||||||
|
|
||||||
Input data sources:
|
Input data sources:
|
||||||
@ -320,6 +367,28 @@ type = "http"
|
|||||||
options = { port = 8080 }
|
options = { port = 8080 }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Hot Reload with JSON Output
|
||||||
|
|
||||||
|
```toml
|
||||||
|
config_auto_reload = true
|
||||||
|
config_save_on_exit = true
|
||||||
|
|
||||||
|
[[pipelines]]
|
||||||
|
name = "app"
|
||||||
|
format = "json"
|
||||||
|
|
||||||
|
[pipelines.format_options]
|
||||||
|
pretty = true
|
||||||
|
|
||||||
|
[[pipelines.sources]]
|
||||||
|
type = "directory"
|
||||||
|
options = { path = "/var/log/app", pattern = "*.log" }
|
||||||
|
|
||||||
|
[[pipelines.sinks]]
|
||||||
|
type = "http"
|
||||||
|
options = { port = 8080 }
|
||||||
|
```
|
||||||
|
|
||||||
### Filtering
|
### Filtering
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
|
|||||||
@ -15,6 +15,17 @@ Examples:
|
|||||||
|
|
||||||
## General Variables
|
## General Variables
|
||||||
|
|
||||||
|
```bash
|
||||||
|
LOGWISP_CONFIG_FILE=/etc/logwisp/config.toml
|
||||||
|
LOGWISP_CONFIG_DIR=/etc/logwisp
|
||||||
|
LOGWISP_ROUTER=true
|
||||||
|
LOGWISP_BACKGROUND=true
|
||||||
|
LOGWISP_QUIET=true
|
||||||
|
LOGWISP_DISABLE_STATUS_REPORTER=true
|
||||||
|
LOGWISP_CONFIG_AUTO_RELOAD=true
|
||||||
|
LOGWISP_CONFIG_SAVE_ON_EXIT=true
|
||||||
|
```
|
||||||
|
|
||||||
### `LOGWISP_CONFIG_FILE`
|
### `LOGWISP_CONFIG_FILE`
|
||||||
Configuration file path.
|
Configuration file path.
|
||||||
```bash
|
```bash
|
||||||
@ -95,6 +106,19 @@ LOGWISP_PIPELINES_0_SINKS_0_OPTIONS_PORT=8080
|
|||||||
LOGWISP_PIPELINES_0_SINKS_0_OPTIONS_BUFFER_SIZE=1000
|
LOGWISP_PIPELINES_0_SINKS_0_OPTIONS_BUFFER_SIZE=1000
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Pipeline with Formatter
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Pipeline name and format
|
||||||
|
LOGWISP_PIPELINES_0_NAME=app
|
||||||
|
LOGWISP_PIPELINES_0_FORMAT=json
|
||||||
|
|
||||||
|
# Format options
|
||||||
|
LOGWISP_PIPELINES_0_FORMAT_OPTIONS_PRETTY=true
|
||||||
|
LOGWISP_PIPELINES_0_FORMAT_OPTIONS_TIMESTAMP_FIELD=ts
|
||||||
|
LOGWISP_PIPELINES_0_FORMAT_OPTIONS_LEVEL_FIELD=severity
|
||||||
|
```
|
||||||
|
|
||||||
### Filters
|
### Filters
|
||||||
```bash
|
```bash
|
||||||
# Include filter
|
# Include filter
|
||||||
|
|||||||
Reference in New Issue
Block a user