Debug mode

You can enable the basic debug mode by adding this line to your debug configuration file ():

conf/debug.yaml

note

For APISIX releases prior to v2.10, basic debug mode is enabled by setting apisix.enable_debug = true in your configuration file (conf/config.yaml).

If you have configured two Plgins limit-conn and limit-count on the Route /hello, you will receive a response with the header Apisix-Plugins: limit-conn, limit-count when you enable the basic debug mode.

    Debug mode - 图2IMPORTANT

    Advanced debug mode

    You can configure advanced options in debug mode by modifying your debug configuration file (conf/debug.yaml).

    The following configurations are available:

    note

    A checker would check every second for changes to the configuration file. It will only check a file if the file was updated based on its last modification time.

    You can add an #END flag to indicate to the checker to only look for changes until that point.

    conf/debug.yaml

    1. hook_conf:
    2. enable: false # Enables/disables hook debug trace
    3. name: hook_phase # Module list name of the hook that enabled the debug trace
    4. log_level: warn # Log level for input arguments & returned values
    5. is_print_input_args: true # When set to `true` enables printing input arguments
    6. is_print_return_value: true # When set to `true` enables printing returned values
    7. apisix: # Referenced module name
    8. - http_access_phase # Function names:Array
    9. - http_header_filter_phase
    10. - http_body_filter_phase
    11. - http_log_phase
    12. #END

    You can also enable advanced debug mode only on particular requests.

    The example below shows how you can enable it on requests with the header X-APISIX-Dynamic-Debug:

    conf/debug.yaml

    1. curl 127.0.0.1:9090/hello --header 'X-APISIX-Dynamic-Debug: foo'
    Debug mode - 图4note

    The apisix.http_access_phase module cannot be hooked for this dynamic rule as the advanced debug mode is enabled based on the request.