diff --git a/javascript/youhong.ai/pcn/workflow_code_block.js b/javascript/youhong.ai/pcn/workflow_code_block.js index 7efc27e..b0f8437 100644 --- a/javascript/youhong.ai/pcn/workflow_code_block.js +++ b/javascript/youhong.ai/pcn/workflow_code_block.js @@ -563,6 +563,11 @@ $(() => { WfForm.changeFieldValue("field611", {value: "出差"}) WfForm.changeFieldValue("field8715", {value: "2"}) $("button[ecid='_Route@vmt0lk_Comp@upn4fo_FormContent@g9f33k_MainLayout@kdmfyn_LayoutTr@ds2cqb@main_0_CellType@27chqt@main_17_10_FieldContent@r045n3_BrowserElement@2mq6lm_WeaBrowser@j1zg9h_WrappedComponent@i9q2c5_Component@iiw91q_Associative@zt8qgk_Button@ztqsd2_button@xq1ea3']").trigger("click") + WfForm.registerCheckEvent(WfForm.OPER_CLOSE, function (callback) { + setTimeout(() => { + window.location.href = "/spa/workflow/static4form/index.html#/main/workflow/req?iscreate=1&workflowid=746" + }, 500) + }); })() diff --git a/src/main/java/aiyh/utils/Util.java b/src/main/java/aiyh/utils/Util.java index 7bc4337..8fae3ea 100644 --- a/src/main/java/aiyh/utils/Util.java +++ b/src/main/java/aiyh/utils/Util.java @@ -2149,17 +2149,27 @@ public class Util extends weaver.general.Util { if (log == null) { synchronized (Util.class) { if (log == null) { - DailyRollingFileAppender appender = new DailyRollingFileAppender(); log = Logger.getLogger("ayh_cus"); - appender.setName("ayh_cus"); - appender.setEncoding("UTF-8"); - appender.setDatePattern("'_'yyyyMMdd'.log'"); - appender.setFile(weaver.general.GCONST.getLogPath() + "cus" + File.separator + "util_cus" + File.separator + "cus.log"); - appender.setThreshold(Priority.DEBUG); - appender.setLayout(new PatternLayout("[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%r] [Thread:%t][%F.%M:%L] ==> : %m %x %n")); - appender.setAppend(true); - appender.activateOptions(); - log.addAppender(appender); + if ("true".equals(System.getProperty("_isDebug"))) { + ConsoleAppender appender = new ConsoleAppender(); + appender.setName("ayh_cus"); + appender.setEncoding("UTF-8"); + appender.setThreshold(Priority.DEBUG); + appender.setLayout(new PatternLayout("[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%F.%M:%L] ==> %m %x %n")); + appender.activateOptions(); + log.addAppender(appender); + } else { + DailyRollingFileAppender appender = new DailyRollingFileAppender(); + appender.setName("ayh_cus"); + appender.setEncoding("UTF-8"); + appender.setDatePattern("'_'yyyyMMdd'.log'"); + appender.setFile(weaver.general.GCONST.getLogPath() + "cus" + File.separator + "util_cus" + File.separator + "cus.log"); + appender.setThreshold(Priority.DEBUG); + appender.setLayout(new PatternLayout("[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%F.%M:%L] ==> %m %x %n")); + appender.setAppend(true); + appender.activateOptions(); + log.addAppender(appender); + } log.setAdditivity(false); log.setLevel(Level.INFO); /* @@ -2197,17 +2207,27 @@ public class Util extends weaver.general.Util { if (otherLog.containsKey(name)) { return otherLog.get(name); } - DailyRollingFileAppender appender = new DailyRollingFileAppender(); Logger cusLog = Logger.getLogger("cus_" + name); - appender.setName("cus_" + name); - appender.setEncoding("UTF-8"); - appender.setDatePattern("'_'yyyyMMdd'.log'"); - appender.setFile(weaver.general.GCONST.getLogPath() + "cus" + File.separator + name + File.separator + "cus.log"); - appender.setThreshold(Priority.DEBUG); - appender.setLayout(new PatternLayout("[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%r] [Thread:%t][%F.%M:%L] ==> : %m %x %n")); - appender.setAppend(true); - appender.activateOptions(); - cusLog.addAppender(appender); + if ("true".equals(System.getProperty("_isDebug"))) { + ConsoleAppender appender = new ConsoleAppender(); + appender.setName("cus_" + name); + appender.setEncoding("UTF-8"); + appender.setThreshold(Priority.DEBUG); + appender.setLayout(new PatternLayout("[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%r] [%F.%M:%L] ==> \n %m %x %n")); + appender.activateOptions(); + cusLog.addAppender(appender); + } else { + DailyRollingFileAppender appender = new DailyRollingFileAppender(); + appender.setName("cus_" + name); + appender.setEncoding("UTF-8"); + appender.setDatePattern("'_'yyyyMMdd'.log'"); + appender.setFile(weaver.general.GCONST.getLogPath() + "cus" + File.separator + name + File.separator + "cus.log"); + appender.setThreshold(Priority.DEBUG); + appender.setLayout(new PatternLayout("[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%r] [%F.%M:%L] ==> \n %m %x %n")); + appender.setAppend(true); + appender.activateOptions(); + cusLog.addAppender(appender); + } cusLog.setAdditivity(false); /* boolean enableDebug = false; diff --git a/src/test/java/basetest/BaseTest.java b/src/test/java/basetest/BaseTest.java index 251b69e..7fb47af 100644 --- a/src/test/java/basetest/BaseTest.java +++ b/src/test/java/basetest/BaseTest.java @@ -24,123 +24,125 @@ import java.util.Properties; public class BaseTest { - - private ApplicationContext ctx; - private Properties properties; - - protected final Logger log = Util.getLogger(); - - private static Properties propertiesStatic; - - @BeforeClass - public static void beforeStatic() { - BaseTest.getContextStatic(); - GCONST.setServerName(propertiesStatic.getProperty("serverName")); - GCONST.setRootPath(propertiesStatic.getProperty("rootPath")); - GCONST.setSystemFilePath(propertiesStatic.getProperty("systemFilePath")); - GCONST.setLogPath(propertiesStatic.getProperty("logPath")); - } - - private void getContext() { - Properties propertiesXml = new Properties(); - try { - ApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml"); - this.ctx = ctx; - BaseTestConfig baseTestConfig = (BaseTestConfig) ctx.getBean("basetest"); - propertiesXml.setProperty("serverName", baseTestConfig.getServerName()); - propertiesXml.setProperty("rootPath", baseTestConfig.getRootPath()); - propertiesXml.setProperty("systemFilePath", baseTestConfig.getSystemFilePath()); - propertiesXml.setProperty("logPath", baseTestConfig.getLogPath()); - } catch (Exception e) { - - } - Properties properties = new Properties(); - // 使用ClassLoader加载properties配置文件生成对应的输入流 - InputStream in = BaseTest.class.getClassLoader().getResourceAsStream("application.properties"); - // 使用properties对象加载输入流 - try { - properties.load(in); - if (in != null) { - try { - in.close(); - } catch (IOException ex) { - - } - } - Enumeration enumeration = propertiesXml.propertyNames(); - while (enumeration.hasMoreElements()) { - String key = (String) enumeration.nextElement(); - String value = propertiesXml.getProperty(key); - properties.setProperty(key, value); - } - this.properties = properties; - } catch (IOException ex) { - throw new CustomerException("未发现application.properties", ex); - } - } - - @Before - public void before() { - this.getContext(); - GCONST.setServerName(this.properties.getProperty("serverName")); - GCONST.setRootPath(this.properties.getProperty("rootPath")); - GCONST.setSystemFilePath(this.properties.getProperty("systemFilePath")); - GCONST.setLogPath(this.properties.getProperty("logPath")); - } - - private static void getContextStatic() { - Properties propertiesXml = new Properties(); - try { - ApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml"); - BaseTestConfig baseTestConfig = (BaseTestConfig) ctx.getBean("basetest"); - propertiesXml.setProperty("serverName", baseTestConfig.getServerName()); - propertiesXml.setProperty("rootPath", baseTestConfig.getRootPath()); - propertiesXml.setProperty("systemFilePath", baseTestConfig.getSystemFilePath()); - propertiesXml.setProperty("logPath", baseTestConfig.getLogPath()); - } catch (Exception e) { - - } - Properties properties = new Properties(); - // 使用ClassLoader加载properties配置文件生成对应的输入流 - InputStream in = BaseTest.class.getClassLoader().getResourceAsStream("application.properties"); - // 使用properties对象加载输入流 - try { - properties.load(in); - if (in != null) { - try { - in.close(); - } catch (IOException ex) { - - } - } - Enumeration enumeration = propertiesXml.propertyNames(); - while (enumeration.hasMoreElements()) { - String key = (String) enumeration.nextElement(); - String value = propertiesXml.getProperty(key); - properties.setProperty(key, value); - } - propertiesStatic = properties; - } catch (IOException ex) { - throw new CustomerException("未发现application.properties", ex); - } - } - - - @Test - public void with() { - Logger logger = Util.getLogger(); - logger.info("aafasdf"); - String sql = "select COMPANYNAME,LICENSE,EXPIREDATE,CVERSION from license "; - RecordSet rs = new RecordSet(); - rs.executeQuery(sql); - if (rs.next()) { - System.out.println("公司名称:" + rs.getString(1)); - System.out.println("LICENSE:" + rs.getString(2)); - System.out.println("授权到期日期:" + rs.getString(3)); - System.out.println("版本:" + rs.getString(4)); - Console.log(sql); - System.out.println(GCONST.getSysFilePath()); - // 打印文件位置 - } - } + + private ApplicationContext ctx; + private Properties properties; + + protected final Logger log = Util.getLogger(); + + private static Properties propertiesStatic; + + @BeforeClass + public static void beforeStatic() { + BaseTest.getContextStatic(); + GCONST.setServerName(propertiesStatic.getProperty("serverName")); + GCONST.setRootPath(propertiesStatic.getProperty("rootPath")); + GCONST.setSystemFilePath(propertiesStatic.getProperty("systemFilePath")); + GCONST.setLogPath(propertiesStatic.getProperty("logPath")); + System.setProperty("_isDebug", "true"); + } + + private void getContext() { + Properties propertiesXml = new Properties(); + try { + ApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml"); + this.ctx = ctx; + BaseTestConfig baseTestConfig = (BaseTestConfig) ctx.getBean("basetest"); + propertiesXml.setProperty("serverName", baseTestConfig.getServerName()); + propertiesXml.setProperty("rootPath", baseTestConfig.getRootPath()); + propertiesXml.setProperty("systemFilePath", baseTestConfig.getSystemFilePath()); + propertiesXml.setProperty("logPath", baseTestConfig.getLogPath()); + } catch (Exception e) { + + } + Properties properties = new Properties(); + // 使用ClassLoader加载properties配置文件生成对应的输入流 + InputStream in = BaseTest.class.getClassLoader().getResourceAsStream("application.properties"); + // 使用properties对象加载输入流 + try { + properties.load(in); + if (in != null) { + try { + in.close(); + } catch (IOException ex) { + + } + } + Enumeration enumeration = propertiesXml.propertyNames(); + while (enumeration.hasMoreElements()) { + String key = (String) enumeration.nextElement(); + String value = propertiesXml.getProperty(key); + properties.setProperty(key, value); + } + this.properties = properties; + } catch (IOException ex) { + throw new CustomerException("未发现application.properties", ex); + } + } + + @Before + public void before() { + this.getContext(); + GCONST.setServerName(this.properties.getProperty("serverName")); + GCONST.setRootPath(this.properties.getProperty("rootPath")); + GCONST.setSystemFilePath(this.properties.getProperty("systemFilePath")); + GCONST.setLogPath(this.properties.getProperty("logPath")); + System.setProperty("_isDebug", "true"); + } + + private static void getContextStatic() { + Properties propertiesXml = new Properties(); + try { + ApplicationContext ctx = new ClassPathXmlApplicationContext("application.xml"); + BaseTestConfig baseTestConfig = (BaseTestConfig) ctx.getBean("basetest"); + propertiesXml.setProperty("serverName", baseTestConfig.getServerName()); + propertiesXml.setProperty("rootPath", baseTestConfig.getRootPath()); + propertiesXml.setProperty("systemFilePath", baseTestConfig.getSystemFilePath()); + propertiesXml.setProperty("logPath", baseTestConfig.getLogPath()); + } catch (Exception e) { + + } + Properties properties = new Properties(); + // 使用ClassLoader加载properties配置文件生成对应的输入流 + InputStream in = BaseTest.class.getClassLoader().getResourceAsStream("application.properties"); + // 使用properties对象加载输入流 + try { + properties.load(in); + if (in != null) { + try { + in.close(); + } catch (IOException ex) { + + } + } + Enumeration enumeration = propertiesXml.propertyNames(); + while (enumeration.hasMoreElements()) { + String key = (String) enumeration.nextElement(); + String value = propertiesXml.getProperty(key); + properties.setProperty(key, value); + } + propertiesStatic = properties; + } catch (IOException ex) { + throw new CustomerException("未发现application.properties", ex); + } + } + + + @Test + public void with() { + Logger logger = Util.getLogger(); + logger.info("aafasdf"); + String sql = "select COMPANYNAME,LICENSE,EXPIREDATE,CVERSION from license "; + RecordSet rs = new RecordSet(); + rs.executeQuery(sql); + if (rs.next()) { + System.out.println("公司名称:" + rs.getString(1)); + System.out.println("LICENSE:" + rs.getString(2)); + System.out.println("授权到期日期:" + rs.getString(3)); + System.out.println("版本:" + rs.getString(4)); + Console.log(sql); + System.out.println(GCONST.getSysFilePath()); + // 打印文件位置 + } + } } diff --git a/src/test/java/youhong/ai/mymapper/ParseSqlTest.java b/src/test/java/youhong/ai/mymapper/ParseSqlTest.java index 102bc68..131518a 100644 --- a/src/test/java/youhong/ai/mymapper/ParseSqlTest.java +++ b/src/test/java/youhong/ai/mymapper/ParseSqlTest.java @@ -21,14 +21,22 @@ public class ParseSqlTest extends BaseTest { @Test public void test() { - String sql = "select $t{table} into set field = #{field} from table :my-where{\n" + - "\t:my-for:item=\"item\":index=\"index\":collection=\"ids.split(',')\":open=\"\":separator=\",\":close=\"\\\":nullable{\n" + - "\t\tand $t{index} = #{item}\n" + + // String sql = "select $t{table} into set field = #{field} from table :my-where{\n" + + // "\t:my-for:item=\"item\":index=\"index\":collection=\"ids.split(',')\":open=\"\":separator=\",\":close=\"\\\":nullable{\n" + + // "\t\tand $t{index} = #{item}\n" + + // "\t}\n" + + // "} order by abase = #{order} $t{desc}"; + String sql = "select * from table :my-where{\n" + + "\t:my-for:item=\"item\":index=\"index\":collection=\"ids\":nullable{\n" + + "\t\t:my-if:test=\" index <= 1\"{\n" + + "\t\t\tand $t{index} = #{item}\n" + + "\t\t}\n" + "\t}\n" + - "} order by abase = #{order} $t{desc}"; + "}"; ParseSqlUtil parseSqlUtil = new ParseSqlUtil(); Map param = new HashMap<>(); - param.put("ids", "var1,var2,var3"); + // param.put("ids", "var1,var2,var3"); + param.put("ids", Arrays.asList("var1", "var2", "var3")); param.put("table", "hhhtable"); param.put("field", "field"); param.put("order", "order"); diff --git a/src/test/java/youhong/ai/mymapper/command/CommandExecutor.java b/src/test/java/youhong/ai/mymapper/command/CommandExecutor.java index 7e4ab50..54e2e8a 100644 --- a/src/test/java/youhong/ai/mymapper/command/CommandExecutor.java +++ b/src/test/java/youhong/ai/mymapper/command/CommandExecutor.java @@ -3,6 +3,8 @@ package youhong.ai.mymapper.command; import youhong.ai.mymapper.command.entity.SqlCommandDefinition; import youhong.ai.mymapper.util.ParseSqlUtil; +import java.util.Objects; + /** *

指令执行器

* @@ -17,8 +19,10 @@ public class CommandExecutor { ParseSqlUtil parseSqlUtil = new ParseSqlUtil(); ISqlCommand actuator = commandDefinition.getActuator(); String parseString = actuator.execute(commandDefinition); + if (Objects.isNull(parseString) || "".equals(parseString)) { + return ""; + } return parseSqlUtil.parseStatement(parseString); } - } diff --git a/src/test/java/youhong/ai/mymapper/command/commandImpl/MyForCommand.java b/src/test/java/youhong/ai/mymapper/command/commandImpl/MyForCommand.java index 1302dc8..834dbea 100644 --- a/src/test/java/youhong/ai/mymapper/command/commandImpl/MyForCommand.java +++ b/src/test/java/youhong/ai/mymapper/command/commandImpl/MyForCommand.java @@ -151,9 +151,9 @@ public class MyForCommand implements ISqlCommand { return null; } StringBuilder sqlBuilder = new StringBuilder(); - String open = properties.getOpen(); - String close = properties.getClose(); - String separator = properties.getSeparator(); + String open = Objects.isNull(properties.getOpen()) ? "" : properties.getOpen(); + String close = Objects.isNull(properties.getClose()) ? "" : properties.getClose(); + String separator = Objects.isNull(properties.getSeparator()) ? "" : properties.getSeparator(); sqlBuilder.append(open); for (int i = 0; i < list.size(); i++) { Map tempParam = new HashMap<>(); diff --git a/src/test/java/youhong/ai/mymapper/command/commandImpl/MyIfCommand.java b/src/test/java/youhong/ai/mymapper/command/commandImpl/MyIfCommand.java index f1442c2..7ad62d5 100644 --- a/src/test/java/youhong/ai/mymapper/command/commandImpl/MyIfCommand.java +++ b/src/test/java/youhong/ai/mymapper/command/commandImpl/MyIfCommand.java @@ -1,7 +1,15 @@ package youhong.ai.mymapper.command.commandImpl; +import youhong.ai.mymapper.command.ISqlCommand; import youhong.ai.mymapper.command.annotation.SqlCommand; import youhong.ai.mymapper.command.constant.CommandConsTant; +import youhong.ai.mymapper.command.entity.SqlCommandDefinition; +import youhong.ai.mymapper.command.properties.MyIfProperties; +import youhong.ai.mymapper.util.ParseSqlUtil; +import youhong.ai.mymapper.util.ScriptUtil; + +import java.util.Map; +import java.util.Objects; /** *

if指令

@@ -11,6 +19,28 @@ import youhong.ai.mymapper.command.constant.CommandConsTant; * @author youHong.ai */ @SqlCommand(CommandConsTant.IF) -public class MyIfCommand { - +public class MyIfCommand implements ISqlCommand { + + @Override + public String execute(SqlCommandDefinition sqlCommandDefinition) { + MyIfProperties properties = (MyIfProperties) sqlCommandDefinition.getProperties(); + String test = properties.getTest(); + if (Objects.isNull(test) || test.isEmpty()) { + return null; + } + Map tempMap = ParseSqlUtil.PARSE_TEMP_PARAM_LOCALE.get(); + Map param = ParseSqlUtil.PARSE_PARAM_LOCALE.get(); + if (Objects.isNull(param)) { + return null; + } + if (!Objects.isNull(tempMap)) { + param.putAll(tempMap); + } + boolean flag = (boolean) ScriptUtil.invokeScript(test, param); + if (flag) { + ParseSqlUtil parseSqlUtil = new ParseSqlUtil(); + return parseSqlUtil.parse(properties.getCommandContent()); + } + return null; + } } diff --git a/src/test/java/youhong/ai/mymapper/command/properties/MyIfProperties.java b/src/test/java/youhong/ai/mymapper/command/properties/MyIfProperties.java index ffa5d5d..5c5f1ad 100644 --- a/src/test/java/youhong/ai/mymapper/command/properties/MyIfProperties.java +++ b/src/test/java/youhong/ai/mymapper/command/properties/MyIfProperties.java @@ -1,5 +1,9 @@ package youhong.ai.mymapper.command.properties; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + /** *

if指令参数

* @@ -7,5 +11,9 @@ package youhong.ai.mymapper.command.properties; * * @author youHong.ai */ +@Getter +@Setter +@ToString public class MyIfProperties extends AbstractCommandProperties { + private String test; } diff --git a/src/test/java/youhong/ai/mymapper/util/CommandUtil.java b/src/test/java/youhong/ai/mymapper/util/CommandUtil.java index 036d42e..4adb78a 100644 --- a/src/test/java/youhong/ai/mymapper/util/CommandUtil.java +++ b/src/test/java/youhong/ai/mymapper/util/CommandUtil.java @@ -31,32 +31,36 @@ public class CommandUtil { char[] chars = commandLin.toCharArray(); StringBuilder commandSb = new StringBuilder(); List commandItemList = new ArrayList<>(); + int account = 0; if (commandLin.split(":").length == 1) { commandItemList.add(commandLin); - } - int account = 0; - for (int i = 0; i < chars.length; i++) { - char c = chars[i]; - account++; - if (CommandConsTant.Skip_CHAR.contains(c)) { - continue; - } - if (c == '\\') { - if (CommandConsTant.TRANSLATION_CHAR.contains(chars[i + 1])) { - commandSb.append(chars[i + 1]); - i += 1; + account = commandLin.length(); + } else { + for (int i = 0; i < chars.length; i++) { + char c = chars[i]; + account++; + if (CommandConsTant.Skip_CHAR.contains(c)) { + continue; + } + if (c == '\\') { + if (CommandConsTant.TRANSLATION_CHAR.contains(chars[i + 1])) { + commandSb.append(chars[i + 1]); + i += 1; + continue; + } + commandSb.append(c); + continue; + } + if (c == ':') { + commandItemList.add(commandSb.toString()); + commandSb = new StringBuilder(); continue; } commandSb.append(c); - continue; } - if (c == ':') { - commandItemList.add(commandSb.toString()); - commandSb = new StringBuilder(); - continue; - } - commandSb.append(c); + commandItemList.add(commandSb.toString().trim()); } + String command = commandItemList.get(0); ISqlCommand iSqlCommand = getCommand(command); SqlCommandDefinition sqlCommandDefinition = CommandPropUtil.createICommandProperties(commandItemList, commandContent, iSqlCommand); diff --git a/src/test/java/youhong/ai/mymapper/util/ParseSqlUtil.java b/src/test/java/youhong/ai/mymapper/util/ParseSqlUtil.java index b563bdd..7467605 100644 --- a/src/test/java/youhong/ai/mymapper/util/ParseSqlUtil.java +++ b/src/test/java/youhong/ai/mymapper/util/ParseSqlUtil.java @@ -75,7 +75,8 @@ public class ParseSqlUtil { sqlBuilder.append(tempSql); i += CommandConsTant.COMMAND_PRE_FIX.length + 1; SqlCommandDefinition commandDefinition = parseCommand(chars, i); - sqlBuilder.append(commandDefinition.getCommandContent()); + String commandContent = commandDefinition.getCommandContent(); + sqlBuilder.append(Objects.isNull(commandContent) ? "" : commandContent); i += commandDefinition.getCommandLength(); if (i <= chars.length - 1) { sqlBuilder.append(" "); @@ -114,9 +115,12 @@ public class ParseSqlUtil { } } if (c == ' ') { - if (chars[i + 1] == ' ' && eliminate) { - continue; + if (i + 1 <= chars.length - 1) { + if (chars[i + 1] == ' ' && eliminate) { + continue; + } } + } sqlBuilder.append(c); diff --git a/src/test/java/youhong/ai/pcn/UtilTest.java b/src/test/java/youhong/ai/pcn/UtilTest.java index ef1b54e..2bc3940 100644 --- a/src/test/java/youhong/ai/pcn/UtilTest.java +++ b/src/test/java/youhong/ai/pcn/UtilTest.java @@ -6,6 +6,7 @@ import aiyh.utils.tool.org.apache.commons.jexl3.*; import basetest.BaseTest; import com.alibaba.fastjson.JSON; import ebu7common.youhong.ai.bean.Builder; +import org.apache.log4j.Logger; import org.junit.Test; import weaver.workflow.msg.MsgPushUtil; import weaver.workflow.msg.entity.MsgEntity; @@ -164,6 +165,8 @@ public class UtilTest extends BaseTest { System.out.println('\n'); System.out.println('\t'); System.out.println(' '); + Logger logger = Util.getLogger(); + logger.info("哈哈哈哈哈舒服哈我是不是在控制台我擦!"); }