我能够在单个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();
}
答案 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'当然应该用你使用的相关课程替换。