Skip to content

Payloads should have better indentation in logging output #670

@111pontes

Description

@111pontes

XML/JSON payload should be properly indented in logging output to improve human usability of the logs. In 0.6.3, payload output looks like this:

2018-01-22 14:45:05,085 - ydk - INFO - =============Generating payload to send to device=============
2018-01-22 14:45:05,086 - ydk - INFO - <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <target>
    <candidate/>
  </target>
  <error-option>rollback-on-error</error-option>
  <config><mpls-ldp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-cfg" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
  <enable/>
  <default-vrf>
    <interfaces>
      <interface>
        <interface-name>GigabitEthernet0/0/0/0</interface-name>
        <enable/>
      </interface>
      <interface>
        <interface-name>GigabitEthernet0/0/0/1</interface-name>
        <enable/>
      </interface>
    </interfaces>
  </default-vrf>
</mpls-ldp>
</config>
</edit-config>
</rpc>
2018-01-22 14:45:05,086 - ydk - INFO -

2018-01-22 14:45:05,302 - ydk - INFO - =============Reply payload received from device=============
2018-01-22 14:45:05,303 - ydk - INFO - <?xml version="1.0"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
  <ok/>
</rpc-reply>

2018-01-22 14:45:05,303 - ydk - INFO -

2018-01-22 14:45:05,303 - ydk - INFO - Executing commit RPC: <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><commit/></rpc>
2018-01-22 14:45:05,886 - ydk - INFO - =============Reply payload received from device=============
2018-01-22 14:45:05,890 - ydk - INFO - <?xml version="1.0"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2">
  <ok/>
</rpc-reply>

2018-01-22 14:45:05,890 - ydk - INFO -

2018-01-22 14:45:05,890 - ydk - INFO - Operation succeeded
2018-01-22 14:45:05,890 - ydk - INFO - Disconnected from device

With proper indentation and separation, it should look like this:

2018-01-22 14:45:05,085 - ydk - INFO - =============Generating payload to send to device=============
2018-01-22 14:45:05,086 - ydk - INFO - 
<?xml version="1.0"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <edit-config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
    <target>
      <candidate/>
    </target>
    <error-option>rollback-on-error</error-option>
    <config>
      <mpls-ldp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-cfg" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="merge">
        <enable/>
        <default-vrf>
          <interfaces>
            <interface>
              <interface-name>GigabitEthernet0/0/0/0</interface-name>
              <enable/>
            </interface>
            <interface>
              <interface-name>GigabitEthernet0/0/0/1</interface-name>
              <enable/>
            </interface>
          </interfaces>
        </default-vrf>
      </mpls-ldp>
    </config>
  </edit-config>
</rpc>
2018-01-22 14:45:05,086 - ydk - INFO -

2018-01-22 14:45:05,302 - ydk - INFO - =============Reply payload received from device=============
2018-01-22 14:45:05,303 - ydk - INFO - 
<?xml version="1.0"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
  <ok/>
</rpc-reply>

2018-01-22 14:45:05,303 - ydk - INFO -

2018-01-22 14:45:05,303 - ydk - INFO - Executing commit RPC: 
<?xml version="1.0"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <commit/>
</rpc>

2018-01-22 14:45:05,886 - ydk - INFO - =============Reply payload received from device=============
2018-01-22 14:45:05,890 - ydk - INFO - 
<?xml version="1.0"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2">
  <ok/>
</rpc-reply>

2018-01-22 14:45:05,890 - ydk - INFO -

2018-01-22 14:45:05,890 - ydk - INFO - Operation succeeded
2018-01-22 14:45:05,890 - ydk - INFO - Disconnected from device

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions