{"nodes": [{"id": "$graphify-root$_backend_app_core_logging_py", "label": "logging.py", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L1"}, {"id": "$graphify-root$_backend_app_core_logging_get_redis", "label": "_get_redis()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L36", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_publish_log", "label": "_publish_log()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L50", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_db_writer", "label": "_db_writer()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L61", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_start_db_writer", "label": "start_db_writer()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L116", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_db_logger", "label": "_db_logger()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L123", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_write_file_json", "label": "_write_file_json()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L138", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_now_local", "label": "_now_local()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L155", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_fmt_console", "label": "_fmt_console()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L160", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_redact_secrets", "label": "_redact_secrets()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L175", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_structlogdbprocessor", "label": "_StructlogDBProcessor", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L197", "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "label": ".__call__()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L200", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_config_structlog", "label": "_config_structlog()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L217", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_stdlibbridge", "label": "_StdlibBridge", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L254", "metadata": {"python_opaque_bases": true}, "_callable": true, "_callable_class": true}, {"id": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "label": ".emit()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L257", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_setup_logging", "label": "setup_logging()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L277", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_get_logger", "label": "get_logger()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L283", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_log_activity", "label": "log_activity()", "file_type": "code", "source_file": "backend/app/core/logging.py", "source_location": "L287", "_callable": true}, {"id": "$graphify-root$_backend_app_core_logging_rationale_1", "label": "Structured logging (structlog) + persist ke DB untuk live log di frontend.\u2026", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L1"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_37", "label": "Lazy Redis client (sync). Reset otomatis kalau gagal.", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L37"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_51", "label": "Publish record ke channel Redis `atlas:logs` (untuk SSE frontend).", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L51"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_62", "label": "Background thread: tulis log dari queue ke DB (batching) + publish ke Redis.", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L62"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_124", "label": "Handler structlog \u2192 push ke queue DB writer.", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L124"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_139", "label": "Append satu JSON line ke file log (thread-safe, tidak pernah crash).", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L139"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_156", "label": "Datetime lokal aware (untuk display konsisten).", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L156"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_161", "label": "Format human-readable untuk stdout/terminal.", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L161"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_176", "label": "Redact sensitive fields from log records.", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L176"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_198", "label": "structlog processor: setelah render, kirim event + context ke DB.", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L198"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_255", "label": "Bridge stdlib logging \u2192 DB + console human + file JSON (dual output).", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L255"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_278", "label": "Panggil sekali di app startup.", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L278"}, {"id": "$graphify-root$_backend_app_core_logging_rationale_288", "label": "Tulis activity feed yang meaningful (mirip TUI state.log). Ini bukan raw\u2026", "file_type": "rationale", "source_file": "backend/app/core/logging.py", "source_location": "L288"}], "edges": [{"source": "$graphify-root$_backend_app_core_logging_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L14", "weight": 1.0, "_python_import_module": "json", "_python_import_bindings": [["json", "json"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L15", "weight": 1.0, "_python_import_module": "os", "_python_import_bindings": [["os", "os"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L16", "weight": 1.0, "_python_import_module": "logging", "_python_import_bindings": [["logging", "stdlib_logging"]], "_python_import_module_binding": true, "local_alias": "stdlib_logging"}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "queue", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L17", "weight": 1.0, "_python_import_module": "queue", "_python_import_bindings": [["queue", "queue"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "threading", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L18", "weight": 1.0, "_python_import_module": "threading", "_python_import_bindings": [["threading", "threading"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L19", "weight": 1.0, "_python_import_module": "datetime", "_python_import_bindings": [["datetime", "datetime"]]}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "structlog", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L21", "weight": 1.0, "_python_import_module": "structlog", "_python_import_bindings": [["structlog", "structlog"]], "_python_import_module_binding": true}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_config_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L23", "weight": 1.0, "_python_import_module": "app.core.config", "_python_import_bindings": [["settings", "settings"]], "target_file": "$graphify-root$/backend/app/core/config.py"}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_get_redis", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_publish_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L50", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_db_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L61", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_start_db_writer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L116", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_db_logger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L123", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_write_file_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L138", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_now_local", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L155", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_fmt_console", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L160", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_redact_secrets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L175", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_structlogdbprocessor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L197", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_structlogdbprocessor", "target": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L200", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_config_structlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L217", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_stdlibbridge", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L254", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_stdlibbridge", "target": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L257", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_setup_logging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L277", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_get_logger", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L283", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_py", "target": "$graphify-root$_backend_app_core_logging_log_activity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L287", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_publish_log", "target": "$graphify-root$_backend_app_core_logging_get_redis", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_db_writer", "target": "$graphify-root$_backend_app_core_logging_publish_log", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L99", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_start_db_writer", "target": "$graphify-root$_backend_app_core_logging_db_writer", "relation": "indirect_call", "context": "argument", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "backend/app/core/logging.py", "source_location": "L119", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_fmt_console", "target": "$graphify-root$_backend_app_core_logging_now_local", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L162", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "target": "$graphify-root$_backend_app_core_logging_redact_secrets", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L204", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "target": "$graphify-root$_backend_app_core_logging_db_logger", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_config_structlog", "target": "$graphify-root$_backend_app_core_logging_structlogdbprocessor", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L226", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_config_structlog", "target": "$graphify-root$_backend_app_core_logging_stdlibbridge", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "target": "$graphify-root$_backend_app_core_logging_db_logger", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L260", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "target": "$graphify-root$_backend_app_core_logging_now_local", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L261", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "target": "$graphify-root$_backend_app_core_logging_fmt_console", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L269", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "target": "$graphify-root$_backend_app_core_logging_write_file_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L272", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_setup_logging", "target": "$graphify-root$_backend_app_core_logging_config_structlog", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L279", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_setup_logging", "target": "$graphify-root$_backend_app_core_logging_start_db_writer", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L280", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_log_activity", "target": "$graphify-root$_backend_app_core_logging_start_db_writer", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L301", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_log_activity", "target": "$graphify-root$_backend_app_core_logging_db_logger", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L308", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_log_activity", "target": "$graphify-root$_backend_app_core_logging_now_local", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L310", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_log_activity", "target": "$graphify-root$_backend_app_core_logging_fmt_console", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L323", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_log_activity", "target": "$graphify-root$_backend_app_core_logging_write_file_json", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L328", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_1", "target": "$graphify-root$_backend_app_core_logging_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_37", "target": "$graphify-root$_backend_app_core_logging_get_redis", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L37", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_51", "target": "$graphify-root$_backend_app_core_logging_publish_log", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L51", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_62", "target": "$graphify-root$_backend_app_core_logging_db_writer", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L62", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_124", "target": "$graphify-root$_backend_app_core_logging_db_logger", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L124", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_139", "target": "$graphify-root$_backend_app_core_logging_write_file_json", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L139", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_156", "target": "$graphify-root$_backend_app_core_logging_now_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_161", "target": "$graphify-root$_backend_app_core_logging_fmt_console", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_176", "target": "$graphify-root$_backend_app_core_logging_redact_secrets", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_198", "target": "$graphify-root$_backend_app_core_logging_structlogdbprocessor", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L198", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_255", "target": "$graphify-root$_backend_app_core_logging_stdlibbridge", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L255", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_278", "target": "$graphify-root$_backend_app_core_logging_setup_logging", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L278", "weight": 1.0}, {"source": "$graphify-root$_backend_app_core_logging_rationale_288", "target": "$graphify-root$_backend_app_core_logging_log_activity", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/core/logging.py", "source_location": "L288", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_backend_app_core_logging_get_redis", "callee": "from_url", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L42", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_publish_log", "callee": "publish", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L55", "receiver": "r", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_publish_log", "callee": "dumps", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L55", "receiver": "json", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_publish_log", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/core/logging.py", "source_location": "L55"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "append", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L72", "receiver": "batch", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "get_nowait", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L72", "receiver": "_log_queue", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "sleep", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L77", "receiver": "time", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "SessionLocal", "is_member_call": false, "source_file": "backend/app/core/logging.py", "source_location": "L79", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "SystemLog", "is_member_call": false, "source_file": "backend/app/core/logging.py", "source_location": "L83", "receiver": null}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "dumps", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L88", "receiver": "json", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "add", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L91", "receiver": "db", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "append", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L92", "receiver": "objs", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "commit", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L93", "receiver": "db", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "isoformat", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L101", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "close", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L109", "receiver": "db", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_writer", "callee": "sleep", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L113", "receiver": "time", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_start_db_writer", "callee": "is_alive", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L118", "receiver": "_db_thread", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_start_db_writer", "callee": "Thread", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L119", "receiver": "threading", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_start_db_writer", "callee": "start", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L120", "receiver": "_db_thread", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_logger", "callee": "pop", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L127", "receiver": "kw", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_logger", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/core/logging.py", "source_location": "L128"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_logger", "callee": "put_nowait", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L130", "receiver": "_log_queue", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_logger", "callee": "utcnow", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L131", "receiver": "dt", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_db_logger", "callee": "pop", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L131", "receiver": "kw", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_write_file_json", "callee": "dirname", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L144", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_write_file_json", "callee": "makedirs", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L146", "receiver": "os", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_write_file_json", "callee": "dumps", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L147", "receiver": "json", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_write_file_json", "callee": "str", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/core/logging.py", "source_location": "L147"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_write_file_json", "callee": "write", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L150", "receiver": "f", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_now_local", "callee": "astimezone", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L157", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_now_local", "callee": "now", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L157", "receiver": "datetime", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "get", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L162", "receiver": "record", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "strftime", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L162", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "get", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L163", "receiver": "record", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "get", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L164", "receiver": "record", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "items", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L167", "receiver": "record", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "join", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L170", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "items", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L170", "receiver": "meta", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "append", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L171", "receiver": "parts", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_fmt_console", "callee": "join", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L172", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_redact_secrets", "callee": "dict", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "backend/app/core/logging.py", "source_location": "L189"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "callee": "upper", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L201", "receiver": "method_name", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "callee": "pop", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L202", "receiver": "event_dict", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "callee": "str", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L208"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "callee": "int", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L208"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "callee": "float", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L208"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "callee": "bool", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L208"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_structlogdbprocessor_call", "callee": "items", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L209", "receiver": "event_dict", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "PositionalArgumentsFormatter", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L222", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "StackInfoRenderer", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L223", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "TimeStamper", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L225", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "ConsoleRenderer", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L228", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "configure", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L231", "receiver": "structlog", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "LoggerFactory", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L234", "receiver": null, "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "getLogger", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L241", "receiver": "stdlib_logging", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "setLevel", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L243", "receiver": "lg", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "setLevel", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L245", "receiver": "lg", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "addHandler", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L248", "receiver": "lg", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "basicConfig", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L250", "receiver": "stdlib_logging", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_config_structlog", "callee": "captureWarnings", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L251", "receiver": "stdlib_logging", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "callee": "getMessage", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L259", "receiver": "record", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_stdlibbridge_emit", "callee": "strftime", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L263", "receiver": "now", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_get_logger", "callee": "get_logger", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L284", "receiver": "structlog", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_log_activity", "callee": "str", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L305"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_log_activity", "callee": "int", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L305"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_log_activity", "callee": "float", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L305"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_log_activity", "callee": "bool", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "backend/app/core/logging.py", "source_location": "L305"}, {"caller_nid": "$graphify-root$_backend_app_core_logging_log_activity", "callee": "items", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L306", "receiver": "fields", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_log_activity", "callee": "strftime", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L312", "receiver": "now", "_python_receiver_shadowed": true}, {"caller_nid": "$graphify-root$_backend_app_core_logging_log_activity", "callee": "update", "is_member_call": true, "source_file": "backend/app/core/logging.py", "source_location": "L319", "receiver": "record", "_python_receiver_shadowed": true}], "_cached_target_files": ["$graphify-root$/backend/app/core/config.py"]}