Grails:如何在cmd控制台中打印输出?

11
我想在控制台中打印一些值,我该如何做?
每当我进入一个函数时,我希望它打印一行带有任何文本的内容,我只是想知道是否进入了函数以及一些if-else语句。主要用于调试。

也许您可以举个例子,说明您在控制台中运行的内容以及您想要打印的内容是什么?您的问题有点含糊不清。 - Rob Hruska
1
我有同样的问题。我正在使用GGTS并尝试在eclipse中将某些内容记录/打印到控制台。我尝试了log.info“Hello world”,但没有任何输出。也许我需要在某个地方更改日志级别?在Java中,我将使用具有控制台apender的log4j,那么在Grials中如何实现这种功能呢? - John Little
3个回答

29

如果你的意思是“打印到控制台输出面板”,那么你只需要使用 println

println "Hello, world"

打印输出结果:

groovy> println "Hello, world" 

Hello, world

如果这不是你的意思,你能否澄清你的问题,使其更加具体明确?


9
你可能想考虑使用Grails内置的日志记录功能,它提供与println相同的功能以及更多功能。

http://grails.github.io/grails-doc/3.0.x/guide/single.html#logging

在你的应用程序中只需说
log.info "Hello World"

为了在控制器中每次输入操作时打印一些内容,你可以像这样做
class UserController {

    def beforeInterceptor = {
       log.info "Entering Action ${actionUri}"
    }

    def index = {
    }

    def listContributors = {
    }
}

每当控制器拦截器被进入时,这将打印到日志中。

这将在控制器和服务中起作用,但它不会自动注入到您自己的自定义类中。您可以手动注入它,或者只需使用 println - L_7337
我在我的控制器中尝试使用log.info("hello"),但是在Eclipse和GTS的控制台上没有任何输出,也没有日志目录或类似的东西。有人知道如何解决这个问题吗? - John Little
1
@JohnLittle,log.info("hello") 可能没有显示是因为您的应用程序的日志级别,但 log.println("hello")log.error("hello") 可能会显示。 - Dem Pilafian

3

常规的Java代码 System.out.println("你的东西"); 也可以使用。


对于领域类,您必须实现toString方法,否则它将不知道如何打印它。 - TBAR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接