searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Alogic框架的本地调试

2023-10-17 02:23:58
19
0

为什么需要本地化调试

      现代的软件开发都是多人协作,基于git进行多分支同步开发,共享一套开发测试环境。在这样的环境下,开发测试环境是存在竞争,发布的镜像也可能会冲突;本地开发的业务代码也可能与他人的代码有合并冲突;

      业务逻辑代码设计不完善,实现不优雅,潜在多种逻辑漏洞的,又必须进行多轮的完整性的业务逻辑测试;

      因此,进行业务测试需要经过整体项目代码合并,解决冲突,竞争编译环境资源,竞争发布的测试环境;这种测试过程,涉及的操作节点众多,各种环节的服务不正常,都会极大地降低了开发的效率,另外远程服务无法断点调试,导致定位逻辑错误只能通过测试日志的反复优化删除等,都加大了开发的难度,降低了整体开发效率。

 

什么是本地化调试

      Alogic框架是一款基于Ketty容器的高效的,可扩展的,轻量级WEB服务框架。而Ketty是基于Jetty进行高度定制的一套web服务容器,因此可以通过配置多套环境的配置脚本,实现本地化Maven插件式运行,继而实现本地化的断点调试。

如何配置本地化调试

 

加入Maven的jetty插件

加入日志框架的配置文件

下载ketty容器的运行环境,整个可运行的zip包

调整Web.xml 的配置,加入ketty的配置文件路径

 

jetty插件:修改POM

            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.4.38.v20210224</version>
                <configuration>
                    <httpConnector>
                        <port>8180</port>
                    </httpConnector>
                    <scanIntervalSeconds>-1</scanIntervalSeconds>
                    <reload>manual</reload>
                    <useTestScope>true</useTestScope>
                    <supportedPackagings>jar</supportedPackagings>
                    <webAppConfig>
                        <resourceBase>${project.basedir}/src/main/resources/</resourceBase>
                        <resourceBase>${project.basedir}/src/test/resources/</resourceBase>
                        <resourceBase>${project.basedir}/src/main/webapp/META-INF/</resourceBase>
                        <!--                        <resourceBase>${project.basedir}/src/main/webapp/META-INF/resources</resourceBase>-->
                    </webAppConfig>
                </configuration>
            </plugin>

 

日志实现:修改src/test/resources/logback.xml

<?xml version="1.0" encoding="utf-8"?>
<configuration scan="true" scanPeriod="60 seconds">
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%d{MMddHHmmss.SSS}] %-5level-%msg%n</pattern>
        </encoder>
    </appender>

    <logger name="TLog0" level="INFO" additivity="false">
        <appender-ref ref="tlog" />
    </logger>

    <logger name="org.apache.zookeeper" level="ERROR">
    </logger>

    <logger name="com.jayway.jsonpath.JsonPath" level="INFO"/>

    <root level="DEBUG">
        <appender-ref ref="console" />
    </root>
</configuration>

Ketty服务配置

下载ketty包:使用源码编译,打包出来的zip,解压到

D:/alogic-ketty-server-22.2.4


配置Alogic项目中的src/main/webapp/WEB-INF/web.xml

更换配置中个的

${ketty.home} 为本地实际项目路径
修改 ketty服务目录中的配置文件,
ketty.web.xml的动态路径为本地化路径

 

运行本地环境

至此,本地化服务已经跑起来,可以随意进行本地化调试

 

0条评论
作者已关闭评论
陆****地
1文章数
0粉丝数
陆****地
1 文章 | 0 粉丝
陆****地
1文章数
0粉丝数
陆****地
1 文章 | 0 粉丝
原创

Alogic框架的本地调试

2023-10-17 02:23:58
19
0

为什么需要本地化调试

      现代的软件开发都是多人协作,基于git进行多分支同步开发,共享一套开发测试环境。在这样的环境下,开发测试环境是存在竞争,发布的镜像也可能会冲突;本地开发的业务代码也可能与他人的代码有合并冲突;

      业务逻辑代码设计不完善,实现不优雅,潜在多种逻辑漏洞的,又必须进行多轮的完整性的业务逻辑测试;

      因此,进行业务测试需要经过整体项目代码合并,解决冲突,竞争编译环境资源,竞争发布的测试环境;这种测试过程,涉及的操作节点众多,各种环节的服务不正常,都会极大地降低了开发的效率,另外远程服务无法断点调试,导致定位逻辑错误只能通过测试日志的反复优化删除等,都加大了开发的难度,降低了整体开发效率。

 

什么是本地化调试

      Alogic框架是一款基于Ketty容器的高效的,可扩展的,轻量级WEB服务框架。而Ketty是基于Jetty进行高度定制的一套web服务容器,因此可以通过配置多套环境的配置脚本,实现本地化Maven插件式运行,继而实现本地化的断点调试。

如何配置本地化调试

 

加入Maven的jetty插件

加入日志框架的配置文件

下载ketty容器的运行环境,整个可运行的zip包

调整Web.xml 的配置,加入ketty的配置文件路径

 

jetty插件:修改POM

            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.4.38.v20210224</version>
                <configuration>
                    <httpConnector>
                        <port>8180</port>
                    </httpConnector>
                    <scanIntervalSeconds>-1</scanIntervalSeconds>
                    <reload>manual</reload>
                    <useTestScope>true</useTestScope>
                    <supportedPackagings>jar</supportedPackagings>
                    <webAppConfig>
                        <resourceBase>${project.basedir}/src/main/resources/</resourceBase>
                        <resourceBase>${project.basedir}/src/test/resources/</resourceBase>
                        <resourceBase>${project.basedir}/src/main/webapp/META-INF/</resourceBase>
                        <!--                        <resourceBase>${project.basedir}/src/main/webapp/META-INF/resources</resourceBase>-->
                    </webAppConfig>
                </configuration>
            </plugin>

 

日志实现:修改src/test/resources/logback.xml

<?xml version="1.0" encoding="utf-8"?>
<configuration scan="true" scanPeriod="60 seconds">
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%d{MMddHHmmss.SSS}] %-5level-%msg%n</pattern>
        </encoder>
    </appender>

    <logger name="TLog0" level="INFO" additivity="false">
        <appender-ref ref="tlog" />
    </logger>

    <logger name="org.apache.zookeeper" level="ERROR">
    </logger>

    <logger name="com.jayway.jsonpath.JsonPath" level="INFO"/>

    <root level="DEBUG">
        <appender-ref ref="console" />
    </root>
</configuration>

Ketty服务配置

下载ketty包:使用源码编译,打包出来的zip,解压到

D:/alogic-ketty-server-22.2.4


配置Alogic项目中的src/main/webapp/WEB-INF/web.xml

更换配置中个的

${ketty.home} 为本地实际项目路径
修改 ketty服务目录中的配置文件,
ketty.web.xml的动态路径为本地化路径

 

运行本地环境

至此,本地化服务已经跑起来,可以随意进行本地化调试

 

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0