如何将groovy项目中的日志记录(来自所有类的日志)设置为单个文件

时间:2016-09-10 11:47:15

标签: logging groovy log4j

我能够在单个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();

    }

1 个答案:

答案 0 :(得分:1)

当Groovy在Java上运行时,您可以使用其中一个Java库。 我个人更喜欢使用slf4j而不是使用log4j。与log4j的区别在于here。 如果您使用的是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'当然应该用你使用的相关课程替换。