【问题标题】:how to set logging in groovy project (logs from all classes) to a single file如何将 groovy 项目中的日志记录(所有类的日志)设置为单个文件
【发布时间】:2016-09-12 10:43:18
【问题描述】:

我可以在单个 groovy 类中设置日志记录。但我想将来自不同 groovy 类的所有日志发送到单个文件。可能吗 ?请在我的 groovy 类中找到我的日志代码。

import groovy.sql.Sql
import org.apache.log4j.*
import groovy.util.logging.*

@Log4j
public class TibcoAppConfGenertor {

    public TibcoAppConfGenertor() {

        log.level = Level.DEBUG
        log.addAppender(new FileAppender(new TTCCLayout(), 'Tibco.log'));
        log.addAppender(new FileAppender(new TTCCLayout(), 'Tibco_Exception.log'));
        //log.info 'Simple sample to show log field is injected.'

    }




    public void generateServiceXML() {
        log.info 'generateServiceXML'

        getApplicationGroups();

    }

【问题讨论】:

标签: logging groovy log4j


【解决方案1】:

由于 Groovy 在 Java 之上运行,您可以使用其中一个 Java 库。 就个人而言,我更喜欢使用 slf4j 而不是使用 log4j。 here 解释了与 log4j 的区别。 如果您使用的是 Grails MVC 框架,那么创建一个服务来处理您的所有日志将是一个好习惯。

此类服务的示例可能是这样的:

public class LoggerService {

private static Logger defaultLogger=LoggerFactory.getLogger(LoggerService.class);

// Add more methods here 

}

每个使用记录器的类都应该声明以下行:

private static final Logger log = LoggerFactory.getLogger('className')

“className”当然应该替换为您使用的相关类。

【讨论】:

    猜你喜欢
    • 2014-01-07
    • 2021-11-06
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多