sologger_log_context 0.2.4

Provides functionality to turn raw logs output by Solana RPCs into structured logs for specified program IDs
Documentation
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "LogContext",
  "description": "This is the structured log format for a Solana Program log message.",
  "type": "object",
  "properties": {
    "log_messages": {
      "description": "The log messages produced by the program, via the msg! or emit! macros. These logs being with 'Program log:'",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "data_logs": {
      "description": "The data messages containing serialized data produced by the program, usually via the emit! or emit_cpi! macros provided by Anchor. These logs begin with 'Program data:'",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "raw_logs": {
      "description": "This is the raw log output from the program. This will contain all logs, regardless of prefix.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "errors": {
      "description": "The errors produced by the program. These logs being with 'Program failed to complete:', for example 'Program failed to complete: Invoked an instruction with data that is too large (12178014311288245306 > 10240)'",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "transaction_error": {
      "description": "The transaction error produced by the program. This value is not parsed from the raw logs, but is provided by the RPC log subscription response as to why a transaction might be rejected.",
      "type": "string"
    },
    "program_id": {
      "description": "The program id of the program that produced the logs.",
      "type": "string"
    },
    "parent_program_id": {
      "description": "The program id of the program that invoked the program that produced the logs.",
      "type": "string"
    },
    "depth": {
      "description": "The depth of the program invocation. This is 1 for the first program invoked, 2 for the second, and so on.",
      "type": "integer"
    },
    "id": {
      "description": "The unique ID of the program invocation. This value is a combination of the program ID, the slot and the instruction index.",
      "type": "integer"
    },
    "instruction_index": {
      "description": "This is the index of the instruction that produced the logs. This is used to determine the order of logs produced by a program.",
      "type": "integer"
    },
    "invoke_result": {
      "description": "The result of the program invocation from logs prefixed with 'Program return'. Example: 'Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA='",
      "type": "string"
    },
    "slot": {
      "description": "The period of time for which each leader ingests transactions and produces a block.",
      "type": "integer"
    },
    "signature": {
      "description": "The signature of the transaction that invoked the program.",
      "type": "string"
    }
  }
}