Skip to main content
🤖AI-generated documentation curatedAI Generated
This page was drafted by an AI assistant and may contain inaccuracies. This content has been reviewed by a human curator.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
← this page
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
More info about content generation types ↗

Logging

Observability is key!

SkellyCam is a complex multi-process system — each camera runs in its own process, communicating through shared memory and IPC channels. When something goes wrong (or when you just want to understand what's happening under the hood), good logging is essential. Observability is key to understanding the behavior of a system you can't easily step through with a debugger.

Configuration

SkellyCam uses skellylogs for logging, which provides custom log levels and WebSocket log forwarding. The log level is set in skellycam/__init__.py:

LOG_LEVEL = LogLevels.TRACE  # Change to LogLevels.INFO for less verbose output

Logs at TRACE level and above are forwarded to connected WebSocket clients for display in the UI's log terminal.

Log files are saved to ~/skellycam_data/logs_info_and_settings/logs/.

UI log viewer

The SkellyCam UI includes a log terminal that mirrors the backend server logs in real time. However, this only works when the server is in a healthy state and the WebSocket connection is active — which is often not the situation when you most need to see the logs.

Maximum observability

For maximum observability, set auto-connect to false in the UI settings and run the SkellyCam server in its own terminal window. This way you can see the raw server logs even if the UI can't connect or if the server fails before sending relevant logs to the UI.

Sharing logs

The UI's log terminal includes copy-to-clipboard and save-to-disk buttons. These are helpful when asking for help on the Discord server or when filing GitHub issues. Including your logs makes it MUCH easier for others to diagnose the problem.

See the Community page for more ways to get involved and get help.