Skip to main content

Logs

Logs are the first source for troubleshooting processing errors.

Relevant log areas include web requests, jobs, invoice processing, fulltext, ERP connectors, MQTT agents, e-mail import, and PDF/OCR conversion.

What to Capture

For every support case, capture:

  • timestamp with timezone,
  • affected user,
  • affected object ID,
  • request URL or job ID,
  • action that was executed,
  • relevant log excerpt before and after the error,
  • stack trace if available,
  • expected behavior,
  • whether the issue is reproducible.

For Invoice cases, also capture lifecycle state, client, accounting area, assignees, and object ACL when permissions are involved.

Important Log Areas

AreaTypical logger or sourceUsed for
Web requestweb server, Tornado, WebUI logsPage errors, form actions, AJAX calls.
Invoice processinginvoice logsImport, analysis, accounting, workflow, export.
Jobsjob logs or scheduler logsManual and scheduled job execution.
Fulltextfulltext logsIndexing, search, OCR text availability.
E-mail importmail/import logsMailbox access, message processing, attachments.
ERP connectorconnector-specific logsPayloads, responses, mapping errors.
MQTT agentagent logs and response payloadsLocal connector actions, SQL queries, ERP calls.
PDF/OCRconversion logsPreview, OCR, PDF conversion, image processing.

Reading Stack Traces

A stack trace usually contains:

  • the top-level request or template,
  • the helper or job function that failed,
  • the lower-level service or API call,
  • the actual exception.

Do not stop at the first wrapper exception. The useful cause is often the inner exception, for example no write permission for object, query_id parameter is required, or an ERP-specific validation response.

Log Patterns

Log patternLikely meaning
no write permission for objectUser can see the object but cannot perform the requested write or state change.
query_id parameter is requiredMQTT or SQL-agent request is missing a required parameter.
unexpected keyword argumentCaller and implementation use incompatible method signatures.
set lifecycle state: 99 system errorProcessing failed and moved the object to a system error state.
indexed: <id>Fulltext indexed a document or object. It does not prove business processing succeeded.

Logging Quality

Good logs should contain enough context to reproduce the issue without exposing secrets.

Useful context:

  • object ID,
  • user or service account,
  • job/action name,
  • client/accounting area,
  • external system,
  • response status,
  • clear error reason.

Avoid logging passwords, tokens, full payment files, or unnecessary personal data.