Java spark 框架启用日志记录
Java spark framework enable logging
我正在使用带有嵌入式 Jetty 和车把模板引擎的 Spark 框架构建一个 java 应用程序。
但是当我收到 500 Internal Error 时,控制台什么也没说。
我已经在我的 pom.xml 中添加了依赖项:http://sparkjava.com/documentation.html#add-a-logger
但不打印所有异常/错误(如错误 500)
这是我的 pom.xml 亲属
<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 启用所有日志记录?
您是否添加了 log4j 属性文件?看看 this documentation.
Configuring Logging
Spark uses log4j for logging. You can configure it by adding a log4j.properties file in the conf directory. One way to start is to copy the existing log4j.properties.template located there.
使用log4j 实现日志记录。这就是为什么您不知道为什么会收到内部服务器错误
To enable logging,只需要在你的项目中添加如下依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
和 you can register 用于记录未捕获异常的全能 Spark 异常处理程序:
Spark.exception(Exception.class, (exception, request, response) -> {
exception.printStackTrace();
});
不确定这是否意味着在内置日志记录中禁用 spark 或 Hadoop,但如果是这样,在 SparkContext 中设置日志级别对我有帮助。
sc.setLogLevel("ERROR");
可能的选项是ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN
我正在使用带有嵌入式 Jetty 和车把模板引擎的 Spark 框架构建一个 java 应用程序。 但是当我收到 500 Internal Error 时,控制台什么也没说。 我已经在我的 pom.xml 中添加了依赖项:http://sparkjava.com/documentation.html#add-a-logger 但不打印所有异常/错误(如错误 500)
这是我的 pom.xml 亲属
<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 启用所有日志记录?
您是否添加了 log4j 属性文件?看看 this documentation.
Configuring Logging Spark uses log4j for logging. You can configure it by adding a log4j.properties file in the conf directory. One way to start is to copy the existing log4j.properties.template located there.
使用log4j 实现日志记录。这就是为什么您不知道为什么会收到内部服务器错误
To enable logging,只需要在你的项目中添加如下依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
和 you can register 用于记录未捕获异常的全能 Spark 异常处理程序:
Spark.exception(Exception.class, (exception, request, response) -> {
exception.printStackTrace();
});
不确定这是否意味着在内置日志记录中禁用 spark 或 Hadoop,但如果是这样,在 SparkContext 中设置日志级别对我有帮助。
sc.setLogLevel("ERROR");
可能的选项是ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN