无法打印在groovy中执行的确切行 - GroovyShell?

时间:2015-04-04 07:45:59

标签: groovy

主groovy文件(MainApp.groovy)具有以下代码,用于调用sample.groovy

script = new GroovyShell(binding).parse(new File("sample.groovy))
script.run()

Log4j.xml有一个带转换模式%d{ABSOLUTE} %-5p [%c{1}] %m%n的CONSOLE追加器。

即使更改为不同的模式,在sample.groovy执行方法期间也不会打印groovy文件sample.groovy的行号。

有人可以帮我解决如何在sample.groovy中打印正在执行的行吗?

而不是

  

12:40:57,255 DEBUG [样本]要求:

不是它被打印为

  

12:40:57,255 DEBUG [MainApp]请求:

因此很难调试或知道正在执行哪一行。

感谢。

1 个答案:

答案 0 :(得分:1)

如果我明白你在问什么&在没有看到其余代码的情况下,Log4j似乎能够对此进行分类。

在MainApp.groovy

Logger logger = Logger.getLogger(MainApp)
logger.debug("Request ${request}")

在sample.groovy中:

Logger logger = Logger.getLogger(SampleApp)
logger.debug("Request ${request}")

你应该看到类似的输出:

2015-04-03 15:38:53,649 DEBUG  com.sample.MainApp - Request: REQUEST
2015-04-03 15:38:53,971 DEBUG  com.sample.SampleApp - Request: REQUEST