我正在尝试使用org.codehaus.jackson
包与JSON请求正文反序列化传入的 PUT 请求,并且我收到错误消息The request sent by the client was syntactically incorrect
。如何在Pivotal TC服务器日志中获取更详细的日志/错误消息,例如在catalina.log
?
我已将以下行添加到logging.properties:
org.codehaus.level = FINEST
但是来自org.codehaus
的 NO 消息显示在我的日志中,尽管错误消息显示在网页上。也许codehaus
不支持Java日志记录,我应该配置J4Log或类似的另一个日志工具?
我的 Jackson版本是1.9.13 ,我使用的是 Spring Tools Suite(3.8) 强>
答案 0 :(得分: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处的文档 解释如何将日志记录重定向到另一个文件以及如何使用滚动appender以保留一些历史记录
希望这会奏效!
答案 1 :(得分:3)
客户端发送的请求在语法上不正确
^^^此消息由处理客户端请求的HTTP servlet和jackson映射器不创建。 您可以在spring-mvc记录器名称下找到相关的日志消息: org.springframework.web
HTH