Skip to content

Extracts, interpolates, formats and pretty prints SQL from datasource-proxy json logs.

License

Notifications You must be signed in to change notification settings

polarfish/datasource-proxy-log-formatter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

datasource-proxy-log-formatter

Extracts, interpolates, formats and pretty prints SQL from datasource-proxy json logs.

Implementation details

Screenshots

image

Configuring Datasource Proxy for Spring Boot Tests

pom.xml

 <dependency>
    <groupId>net.ttddyy</groupId>
    <artifactId>datasource-proxy</artifactId>
    <version>1.7</version>
    <scope>test</scope>
</dependency>

DatasourceProxyConfig.java

package my.app;

// imports skipped

@TestConfiguration
class DatasourceProxyConfig implements BeanPostProcessor {

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {

        if (bean instanceof DataSource) {
            return ProxyDataSourceBuilder
                .create((DataSource) bean)
                .name("dataSource-proxy")
                .logQueryBySlf4j(SLF4JLogLevel.DEBUG)
                .asJson()
                .build();
        }

        return bean;
    }
}

BaseIT.java

package my.app;

// imports skipped

@SpringBootTest(classes = {
    Application.class,
    DatasourceProxyConfig.class
})
@RunWith(SpringRunner.class)
@ActiveProfiles("integration")
public abstract class BaseIT {
    // ...
}

application-integration.yml

# ...
logging:
  level:
    # Set SLF4JQueryLoggingListener log level to "debug" to enable Datasource Proxy Query logging
    net.ttddyy.dsproxy.listener.logging.SLF4JQueryLoggingListener: off
# ...

For more configuration examples check datasource-proxy-examples

About

Extracts, interpolates, formats and pretty prints SQL from datasource-proxy json logs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages