rewrite icon indicating copy to clipboard operation
rewrite copied to clipboard

XML Autoformat indentation issue

Open philippe-granet opened this issue 2 years ago • 2 comments

What version of OpenRewrite are you using?

I am using 8.8.1

  • OpenRewrite v8.8.1
  • Maven plugin v5.9.1

How are you running OpenRewrite?

I am using the Maven plugin, and my project is a single module project.

<plugin>
  <groupId>org.openrewrite.maven</groupId>
  <artifactId>rewrite-maven-plugin</artifactId>
  <version>5.9.1</version>
  <configuration>
    ... 
  </configuration>
</plugin>

What is the smallest, simplest way to reproduce the problem?

Before:

<?xml version="1.0" encoding="utf-8"?>
<Configuration status="WARN">
    <Properties>
        <Property name="logging_dir">${sys:pinpoint.log}/${sys:pinpoint.agentId}/</Property>
        <Property name="pinpoint.logLevel">ERROR</Property>
        <Property name="rolling-date-format">%d{yyyy-MM-dd}</Property>
        <Property name="backupsize">1m</Property>
        <Property name="lastmodified">7d</Property>
        <Property name="default-rollover-strategy-max">2</Property>

        <!-- message_pattern -->
        <Property name="line_message_pattern">%d{MM-dd HH:mm:ss.sss} [%15.15t] %-5level %-40.40logger{1.}:%-3L -- %msg{nolookups}%n</Property>
        <Property name="simple_message_pattern">%d{MM-dd HH:mm:ss.sss} [%15.15t] %-5level %-40.40logger{1.} -- %msg{nolookups}%n</Property>
        <Property name="console_message_pattern">${simple_message_pattern}</Property>
        <Property name="file_message_pattern">${simple_message_pattern}</Property>
    </Properties>

    <Appenders>
        <Console name="console" target="system_out">
            <PatternLayout>
                <Pattern>${console_message_pattern}</Pattern>
            </PatternLayout>
            <ThresholdFilter level="${sys:pinpoint.logLevel}" onMatch="ACCEPT" onMismatch="DENY"/>
        </Console>

        <RollingFile name="rollingFile" filename="${logging_dir}/pinpoint.log"
                     filepattern="${logging_dir}/pinpoint-${rolling-date-format}-%i.log">
            <PatternLayout>
                <Pattern>${file_message_pattern}</Pattern>
            </PatternLayout>
            <ThresholdFilter level="${sys:pinpoint.logLevel}" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <SizeBasedTriggeringPolicy size="${backupsize}" />
            </Policies>
            <DefaultRolloverStrategy max="${default-rollover-strategy-max}">
                <Delete basePath="${logging_dir}/" maxDepth="1">
                    <IfFileName glob="pinpoint-*.log"/>
                    <IfLastModified age="${lastmodified}"/>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="statRollingFile" filename="${logging_dir}/pinpoint_stat.log"
                     filepattern="${logging_dir}/pinpoint_stat-${rolling-date-format}-%i.log">
            <PatternLayout>
                <Pattern>${file_message_pattern}</Pattern>
            </PatternLayout>
            <ThresholdFilter level="${sys:pinpoint.logLevel}" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <SizeBasedTriggeringPolicy size="${backupsize}" />
            </Policies>
            <DefaultRolloverStrategy max="${default-rollover-strategy-max}">
                <Delete basePath="${logging_dir}/" maxDepth="1">
                    <IfFileName glob="pinpoint_stat-*.log"/>
                    <IfLastModified age="${lastmodified}"/>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Logger name="com.navercorp.pinpoint.metric" level="INFO" additivity="false">
            <AppenderRef ref="statRollingFile"/>
            <!--            <AppenderRef ref="console"/>-->
            <!--            <AppenderRef ref="rollingFile"/>-->
        </Logger>
        <Logger name="com.navercorp.pinpoint" level="INFO" additivity="false">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Logger>
        <Logger name="io.grpc" level="INFO" additivity="false">
            <AppenderRef ref="rollingFile"/>
        </Logger>

        <Logger name="io.grpc.Context" level="INFO" additivity="false">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Logger>
        <Logger name="io.grpc.netty.Utils" level="INFO" additivity="false">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Logger>

        <Root level="INFO">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Root>
    </Loggers>
</Configuration>

After: It adds extra spaces in RollingFile balise:

        <RollingFile name="rollingFile" filename="${logging_dir}/pinpoint.log"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       filepattern="${logging_dir}/pinpoint-${rolling-date-format}-%i.log">

Full result:

<?xml version="1.0" encoding="utf-8"?>
<Configuration status="WARN">
    <Properties>
        <Property name="logging_dir">${sys:pinpoint.log}/${sys:pinpoint.agentId}/</Property>
        <Property name="pinpoint.logLevel">ERROR</Property>
        <Property name="rolling-date-format">%d{yyyy-MM-dd}</Property>
        <Property name="backupsize">1m</Property>
        <Property name="lastmodified">7d</Property>
        <Property name="default-rollover-strategy-max">2</Property>

        <!-- message_pattern -->
        <Property name="line_message_pattern">%d{MM-dd HH:mm:ss.sss} [%15.15t] %-5level %-40.40logger{1.}:%-3L -- %msg{nolookups}%n</Property>
        <Property name="simple_message_pattern">%d{MM-dd HH:mm:ss.sss} [%15.15t] %-5level %-40.40logger{1.} -- %msg{nolookups}%n</Property>
        <Property name="console_message_pattern">${simple_message_pattern}</Property>
        <Property name="file_message_pattern">${simple_message_pattern}</Property>
    </Properties>

    <Appenders>
        <Console name="console" target="system_out">
            <PatternLayout>
                <Pattern>${console_message_pattern}</Pattern>
            </PatternLayout>
            <ThresholdFilter level="${sys:pinpoint.logLevel}" onMatch="ACCEPT" onMismatch="DENY"/>
        </Console>

        <RollingFile name="rollingFile" filename="${logging_dir}/pinpoint.log"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       filepattern="${logging_dir}/pinpoint-${rolling-date-format}-%i.log">
            <PatternLayout>
                <Pattern>${file_message_pattern}</Pattern>
            </PatternLayout>
            <ThresholdFilter level="${sys:pinpoint.logLevel}" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <SizeBasedTriggeringPolicy size="${backupsize}" />
            </Policies>
            <DefaultRolloverStrategy max="${default-rollover-strategy-max}">
                <Delete basePath="${logging_dir}/" maxDepth="1">
                    <IfFileName glob="pinpoint-*.log"/>
                    <IfLastModified age="${lastmodified}"/>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="statRollingFile" filename="${logging_dir}/pinpoint_stat.log"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       filepattern="${logging_dir}/pinpoint_stat-${rolling-date-format}-%i.log">
            <PatternLayout>
                <Pattern>${file_message_pattern}</Pattern>
            </PatternLayout>
            <ThresholdFilter level="${sys:pinpoint.logLevel}" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <SizeBasedTriggeringPolicy size="${backupsize}" />
            </Policies>
            <DefaultRolloverStrategy max="${default-rollover-strategy-max}">
                <Delete basePath="${logging_dir}/" maxDepth="1">
                    <IfFileName glob="pinpoint_stat-*.log"/>
                    <IfLastModified age="${lastmodified}"/>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Logger name="com.navercorp.pinpoint.metric" level="INFO" additivity="false">
            <AppenderRef ref="statRollingFile"/>
            <!--            <AppenderRef ref="console"/>-->
            <!--            <AppenderRef ref="rollingFile"/>-->
        </Logger>
        <Logger name="com.navercorp.pinpoint" level="INFO" additivity="false">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Logger>
        <Logger name="io.grpc" level="INFO" additivity="false">
            <AppenderRef ref="rollingFile"/>
        </Logger>

        <Logger name="io.grpc.Context" level="INFO" additivity="false">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Logger>
        <Logger name="io.grpc.netty.Utils" level="INFO" additivity="false">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Logger>

        <Root level="INFO">
            <AppenderRef ref="console"/>
            <AppenderRef ref="rollingFile"/>
        </Root>
    </Loggers>
</Configuration>

philippe-granet avatar Oct 28 '23 19:10 philippe-granet

Thanks for reporting your issue here! I've added it to the backlog for further exploration.

timtebeek avatar Nov 30 '23 20:11 timtebeek