mirror of
https://github.com/TheFunny/TelegramTwitterMediaBot.git
synced 2026-10-09 01:52:22 +00:00
chore(log): cap container log growth and echo the resolved config
P2 of the logging plan (the README recipe landed with the code change): - `docker-compose.yml.example`: one `x-logging` anchor applied to all three services. json-file grows without limit by default, so a long-running bot and the proxy in front of it fill the disk; capped at 10m × 3 files. - The startup `config:` line now reports what the process actually resolved — the state DB path (a mistyped `DATA_DIR` or a surprising CWD was invisible until it bit), both TTLs, the caption-quote setting (`off` rather than a bare `0`) and whether a proxy is configured. The proxy URL is never printed (it may embed credentials) and admin ids — chat identifiers — stay at `debug`. Verified: `docker compose config -q` accepts the file, and a scripted fake-API run shows `caption quote off` / `link cache TTL 3600s` under overrides, `proxy=yes` with no credential in any line, and the ids at `debug` only.
This commit is contained in:
@@ -67,11 +67,27 @@ async fn main() {
|
||||
log::warn!("failed to register commands: {e}");
|
||||
}
|
||||
|
||||
// The effective tunables, so an operator can see what the process actually
|
||||
// resolved (a mistyped DATA_DIR or a forgotten TTL override is otherwise
|
||||
// invisible until it bites). The proxy URL is never printed — it may embed
|
||||
// credentials — and admin ids are chat identifiers, so they stay at debug.
|
||||
let quote_chars = match CONFIG.caption_quote_text_chars {
|
||||
0 => "off".to_string(),
|
||||
n => format!("{n} chars"),
|
||||
};
|
||||
log::info!(
|
||||
"config: {} admin(s), edit-message TTL {}s",
|
||||
"config: {} admin(s), state {}, edit-message TTL {}s, link cache TTL {}s, caption quote {quote_chars}, proxy={}",
|
||||
CONFIG.admin_ids.len(),
|
||||
CONFIG.edit_message_ttl.as_secs()
|
||||
crate::handlers::db_path().display(),
|
||||
CONFIG.edit_message_ttl.as_secs(),
|
||||
CONFIG.link_cache_ttl.as_secs(),
|
||||
if std::env::var("TELOXIDE_PROXY").is_ok() {
|
||||
"yes"
|
||||
} else {
|
||||
"no"
|
||||
}
|
||||
);
|
||||
log::debug!("config: admin ids {:?}", CONFIG.admin_ids);
|
||||
|
||||
// Queue worker: handles typed tasks, dead-letters failed sends to the
|
||||
// task's chat. Both closures use the shared context (the queue requires
|
||||
|
||||
Reference in New Issue
Block a user