2014-04-04 28 views
0

我开始与GridGain玩(祝贺开源吧!)GridGain日志配置问题

我想在另一个应用程序中嵌入它,为此我需要使用JCL记录,而不是Log4j。

我的一段简单的代码如下所示(是的,这是常规的代码):

def cfg = new GridConfiguration() 
    cfg.setGridLogger(new GridJclLogger()) 
    cfg.setLifecycleBeans(new DaemonLifecycleBean()) 
    def grid = GridGain.start(cfg); 

,但我得到下面的异常。如果我配置了JCL日志记录,为什么它会抱怨缺少Log4j?

Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/varia/LevelRangeFilter 
    at org.gridgain.grid.kernal.GridKernal.createNodeAttributes(GridKernal.java:1187) ~[gridgain-platform-6.0.2.jar:na] 
    at org.gridgain.grid.kernal.GridKernal.start(GridKernal.java:608) ~[gridgain-platform-6.0.2.jar:na] 
    at org.gridgain.grid.kernal.GridGainEx$GridNamedInstance.start0(GridGainEx.java:1828) ~[gridgain-platform-6.0.2.jar:na] 
    ... 21 common frames omitted 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.varia.LevelRangeFilter 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_51] 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_51] 
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_51] 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_51] 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_51] 
+1

这个问题应该真的有JCL标记(大型机脚本语言作业控制语言)吗? –

+0

这是一个错误。删除。 tx – pditommaso

+0

@Paulecci这种依赖似乎在GridGain 6.1版本中可以下载。 – Dmitriy

回答

1

当前GridGain对log4j具有显式依赖性,因此您需要在节点类路径中保留log4j类。

在即将发布的版本中将删除此依赖关系,那么您将能够使用JCL记录器运行该节点,而无需在类路径中使用log4j。

+0

使用版本6.1.0解决 – pditommaso