Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Javascript记录Vertx 3应用程序_Java_Javascript_Vert.x - Fatal编程技术网

从Javascript记录Vertx 3应用程序

从Javascript记录Vertx 3应用程序,java,javascript,vert.x,Java,Javascript,Vert.x,有时候,在开发过程中将事情记录到控制台是很好的。在我正在创建的Vert.x 3项目中,我尝试按照Vert.x 3文档页面上的说明进行日志记录: 这些文档提供了以下示例代码: // Note -these classes are Java only // You would normally maintain one static instance of Logger per Java class: var logger = Java.type("io.vertx.core.logging.

有时候,在开发过程中将事情记录到控制台是很好的。在我正在创建的Vert.x 3项目中,我尝试按照Vert.x 3文档页面上的说明进行日志记录:

这些文档提供了以下示例代码:

// Note -these classes are Java only

// You would normally maintain one static instance of Logger per Java class:

var logger = Java.type("io.vertx.core.logging.LoggerFactory").getLogger(className);

logger.info("something happened");
logger.error("oops!", exception);
编译时,“var logger=…”行弹出,并显示以下错误:

部署verticle java.lang.RuntimeException失败: java.lang.ClassNotFoundException:io.vertx.core.logging.LoggerFactory 在 jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:391) 在 jdk.nashorn.internal.scripts.Script$Recompilation$13$1895AAAAA$\^eval\uUl:27$\u加载(null:107) 在 jdk.nashorn.internal.scripts.Script$Recompilation$4$4036AAAAA$^eval\uUl:27$doRequire(null:149) 在 jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:644) 在 jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:229)

(注意:“className”变量看起来也很可疑。它没有说明应该是什么,它在编译时是“未定义的”)


有什么想法吗?

这是因为Vertx 3里程碑中的版本稍微不同步。文档已经反映了里程碑7中即将发生的更改,其中类包是:

    io.vertx.core.logging.LoggerFactory
但是,在里程碑6中,您需要使用:

    io.vertx.core.logging.impl.LoggerFactory
如果将代码更新为:

    var logger = Java.type("io.vertx.core.logging.impl.LoggerFactory").getLogger(className);

它应该可以工作。

我很好奇——如果你还是使用javascript,为什么不使用node.js呢?我已经屈服于它的许多魅力:加上大老板说这是因为规模。