mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 07:04:48 +00:00
fix: default logging to stdout with configurable target (#91)
This commit is contained in:
parent
375d73e4cb
commit
f09ed7cb9a
3 changed files with 24 additions and 7 deletions
|
|
@ -24,12 +24,13 @@ sandbox-agent server [OPTIONS]
|
|||
| `-A, --cors-allow-header <HEADER>` | all | CORS allowed header (repeatable) |
|
||||
| `-C, --cors-allow-credentials` | - | Enable CORS credentials |
|
||||
| `--no-telemetry` | - | Disable anonymous telemetry |
|
||||
| `--log-to-file` | - | Redirect server logs to a daily log file |
|
||||
|
||||
```bash
|
||||
sandbox-agent server --token "$TOKEN" --port 3000
|
||||
```
|
||||
|
||||
Server logs are redirected to a daily log file under the sandbox-agent data directory (for example, `~/.local/share/sandbox-agent/logs`). Override with `SANDBOX_AGENT_LOG_DIR`, or set `SANDBOX_AGENT_LOG_STDOUT=1` to keep logs on stdout/stderr.
|
||||
Server logs print to stdout/stderr by default. Use `--log-to-file` or `SANDBOX_AGENT_LOG_TO_FILE=1` to redirect logs to a daily log file under the sandbox-agent data directory (for example, `~/.local/share/sandbox-agent/logs`). Override the directory with `SANDBOX_AGENT_LOG_DIR`, or set `SANDBOX_AGENT_LOG_STDOUT=1` to force stdout/stderr.
|
||||
|
||||
HTTP request logging is enabled by default. Control it with:
|
||||
- `SANDBOX_AGENT_LOG_HTTP=0` to disable request logs
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ This plan captures OpenCode TUI output and sends input via tmux so we can valida
|
|||
|
||||
## Environment
|
||||
- `SANDBOX_AGENT_LOG_DIR=/path` to set server log dir
|
||||
- `SANDBOX_AGENT_LOG_STDOUT=1` to keep logs on stdout/stderr
|
||||
- `SANDBOX_AGENT_LOG_TO_FILE=1` to redirect logs to files
|
||||
- `SANDBOX_AGENT_LOG_STDOUT=1` to force logs on stdout/stderr
|
||||
- `SANDBOX_AGENT_LOG_HTTP=0` to disable request logs
|
||||
- `SANDBOX_AGENT_LOG_HTTP_HEADERS=1` to include request headers (Authorization redacted)
|
||||
- `RUST_LOG=...` for trace filtering
|
||||
|
|
@ -42,7 +43,7 @@ This plan captures OpenCode TUI output and sends input via tmux so we can valida
|
|||
```bash
|
||||
tmux capture-pane -pt opencode:0.0 -S -200 > /tmp/opencode-screen.txt
|
||||
```
|
||||
6. Inspect server logs for requests:
|
||||
6. Inspect server logs for requests (when log-to-file is enabled):
|
||||
```bash
|
||||
tail -n 200 ~/.local/share/sandbox-agent/logs/log-$(date +%m-%d-%y)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -92,6 +92,9 @@ struct ServerArgs {
|
|||
|
||||
#[arg(long = "no-telemetry")]
|
||||
no_telemetry: bool,
|
||||
|
||||
#[arg(long = "log-to-file")]
|
||||
log_to_file: bool,
|
||||
}
|
||||
|
||||
#[derive(Args, Debug)]
|
||||
|
|
@ -388,8 +391,8 @@ fn main() {
|
|||
}
|
||||
|
||||
fn init_logging(cli: &Cli) -> Result<(), CliError> {
|
||||
if matches!(cli.command, Command::Server(_)) {
|
||||
maybe_redirect_server_logs();
|
||||
if let Command::Server(server) = &cli.command {
|
||||
maybe_redirect_server_logs(server);
|
||||
}
|
||||
|
||||
let filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
|
||||
|
|
@ -472,8 +475,20 @@ fn default_server_log_dir() -> PathBuf {
|
|||
.unwrap_or_else(|| PathBuf::from(".").join(".sandbox-agent").join("logs"))
|
||||
}
|
||||
|
||||
fn maybe_redirect_server_logs() {
|
||||
if std::env::var("SANDBOX_AGENT_LOG_STDOUT").is_ok() {
|
||||
fn maybe_redirect_server_logs(server: &ServerArgs) {
|
||||
let force_stdout = match std::env::var("SANDBOX_AGENT_LOG_STDOUT") {
|
||||
Ok(value) if value == "0" || value.eq_ignore_ascii_case("false") => false,
|
||||
Ok(_) => true,
|
||||
Err(_) => false,
|
||||
};
|
||||
let log_to_file_env = match std::env::var("SANDBOX_AGENT_LOG_TO_FILE") {
|
||||
Ok(value) if value == "0" || value.eq_ignore_ascii_case("false") => false,
|
||||
Ok(_) => true,
|
||||
Err(_) => false,
|
||||
};
|
||||
let log_to_file = server.log_to_file || log_to_file_env;
|
||||
|
||||
if force_stdout || !log_to_file {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue