我正在构建一个带有嵌入式Jetty和Handlebars模板引擎的Spark框架的Java应用程序。 但是当我得到500内部错误时,控制台没有说什么。 我已经在我的pom.xml中添加了依赖项:http://sparkjava.com/documentation.html#add-a-logger 但不会打印所有异常/错误(如错误500)
这里是我的pom.xml dependecies
<dependencies>
<!-- FRAMEWORK: Spark -->
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.5</version>
</dependency>
<!-- TEMPLATES: Handlebars -->
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-template-handlebars</artifactId>
<version>2.3</version>
</dependency>
<!-- DB-MAPPING: sql2o -->
<dependency>
<groupId>org.sql2o</groupId>
<artifactId>sql2o</artifactId>
<version>1.5.4</version>
</dependency>
<!-- DRIVERS: sqlite-->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.8.11.2</version>
</dependency>
<!-- LOGGER: slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
</dependencies>
如何启用spark的所有日志记录?
答案 0 :(得分:16)
To enable logging,只需将以下依赖项添加到您的项目中:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
和you can register一个catch-all Spark异常处理程序,用于记录未捕获的异常:
Spark.exception(Exception.class, (exception, request, response) -> {
exception.printStackTrace();
});
答案 1 :(得分:3)
使用log4j进行日志记录实现。这就是为什么你不知道为什么会出现内部服务器错误
答案 2 :(得分:-1)
不确定这是否意味着要在内置日志记录中禁用spark或Hadoop,但如果是这样,在SparkContext中设置日志级别对我有帮助。
sc.setLogLevel("ERROR");
可能的选项是ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN
答案 3 :(得分:-3)
您是否添加了log4j属性文件?看看this documentation。
配置日志记录 Spark使用log4j进行日志记录。您可以通过在conf目录中添加log4j.properties文件来配置它。一种方法是复制位于那里的现有log4j.properties.template。