14

我正在尝试使用包反序列化带有 JSON 请求正文的传入PUTorg.codehaus.jackson请求,并且收到错误消息The request sent by the client was syntactically incorrect。如何在我的 Pivotal TC 服务器日志中获取更详细的日志/错误消息,例如在catalina.log

我在 logging.properties 中添加了以下行:

org.codehaus.level = FINEST

但是我的日志中没有显示来自org.codehaus的消息,尽管错误消息显示在网页上。也许codehaus不支持 Java 日志记录,我应该配置 J4Log 或类似的其他日志记录工具?

我的Jackson 版本是 1.9.13,我正在使用Spring Tools Suite (3.8)中的 Pivotal tc 服务器。

4

2 回答 2

6

对于您所说的,您似乎正在尝试更改 tomcat logging.properties。

这通常是一个坏主意,因为您可能希望在同一 Tomcat 服务器中加载的不同 webApp 上进行不同的日志记录。

你应该做的是在你的项目中配置 log4j。通常 Java 项目定义一个“资源”文件夹。您应该在其中添加一个名为

log4j.properties

并在其中添加以下内容:

log4j.rootLogger=ERROR,stdout
# Logger for jackson lib
log4j.logger.org.codehaus=TRACE

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n

这是从默认的 log4j 配置中提取的,并将记录 Tomcat 的标准输出,该输出被重定向到 catalina.out 日志文件。您可能需要阅读https://docs.oracle.com/cd/E29578_01/webhelp/cas_webcrawler/src/cwcg_config_log4j_file.html上的文档, 解释如何将日志记录重定向到不同的文件以及如何使用滚动附加程序,以便您保持一些历史

希望这会奏效!

于 2017-08-17T20:21:39.470 回答
3

客户端发送的请求语法错误

^^^ 此消息是由处理客户端请求的 HTTP servlet 创建的,而不是由 jackson 映射器创建的。您可以在 spring-mvc 记录器名称下找到相关的日志消息:org.springframework.web

高温高压

于 2017-08-22T08:06:47.047 回答