【问题标题】:Grails: How do I print in the cmd console?Grails:如何在 cmd 控制台中打印?
【发布时间】:2011-04-23 02:05:54
【问题描述】:

我想在控制台中打印一些值,我该怎么做?

每次我进入一个函数时,我都希望它打印一行任何文本,我只想知道我是否进入了函数,以及一些 if-else 语句。 主要用于调试。

【问题讨论】:

  • 也许您可以举个例子说明您在控制台中运行的内容以及您要打印的内容?你的问题有点含糊。
  • 我也有同样的问题。我正在使用 GGTS 并试图在 Eclipse 中将某些内容记录/打印到控制台。我尝试了 log.info "Hello wolrd" 但没有任何结果。也许我需要在某处更改日志级别?在 java 中,我会使用带有控制台 apender 的 log4j,这种事情在 grials 中怎么可能?

标签: grails printing console cmd


【解决方案1】:

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

println "Hello, world"

打印输出结果:

groovy> println "Hello, world" 

Hello, world

如果这不是您的意思,您能否更具体地澄清您的问题?

【讨论】:

    【解决方案2】:

    您可能需要考虑 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 = {
        }
    }
    

    由于controller interceptor,每当输入控制器方法时,这都会打印到日志中

    【讨论】:

    • 这将在控制器和服务中工作,但它不会自动注入到您自己的自定义类中。您可以手动注入它,也可以只使用println
    • 我在我的控制器中尝试了 log.info("hello") ,但控制台上没有任何结果(使用 GTS 的 ecrise),并且没有日志目录或类似目录。有人知道怎么做吗?
    • @JohnLittle, log.info("hello") 可能由于您的应用程序的日志记录级别而未显示,但 log.println("hello")log.error("hello") 可能会显示。
    【解决方案3】:

    普通的 java System.out.println("Your stuff"); 也可以。

    【讨论】:

    • 对于域类,您必须实现 toString 方法,否则它将不知道如何打印它。
    猜你喜欢
    • 2013-01-21
    • 2016-08-01
    • 2012-03-04
    • 2014-08-28
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    相关资源
    最近更新 更多