【发布时间】:2020-04-15 13:54:13
【问题描述】:
我在standalone.xml中添加了下面的配置
<subsystem xmlns="urn:jboss:domain:logging:7.0">
<size-rotating-file-handler name="JasperReportUiLog" autoflush="true">
<level name="ALL" />
<file relative-to="jboss.server.log.dir" path="jasper-json-log.json" />
<rotate-size value="200m" />
<max-backup-index value="20" />
<append value="true" />
</size-rotating-file-handler>
<logger category="com.ideas.tetris.ui.modules.reports" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="JasperReportUiLog"/>
</handlers>
</logger>
看不懂
<pattern-formatter pattern="json" />
所以不能添加配置为
<size-rotating-file-handler name="JasperReportUiLog" autoflush="true">
<level name="ALL" />
<formatter>
<pattern-formatter pattern="json" />
</formatter>
<file relative-to="jboss.server.log.dir" path="jasper-json-log.json" />
<rotate-size value="200m" />
<max-backup-index value="20" />
<append value="true" />
</size-rotating-file-handler>
所以如果我删除这个格式化程序,那么它会添加日志消息,在我的例子中是 URL,带有许多 queryString 参数,作为完整的字符串。 为了构建这个字符串,我们使用映射,所以如果我记录那个映射,那么它会将它显示为一种 json,但这也是因为 java.lang.Object 的 toString 方法,而不是因为这个 json 格式化程序,它不是完整的 json,我们可以选择并将我们打算用于某些 ML 目的的其他算法作为 i/p 用于分析进一步的请求。
我认为期望字符串格式化为 json 是错误的,但需要从 jboss 专家那里知道是否有办法将某些消息记录为 json?
【问题讨论】:
-
您使用的是什么版本的 WildFly?