【问题标题】:How to change quickfixj charset encoding for logs?如何更改日志的 quickfixj 字符集编码?
【发布时间】:2014-11-17 13:14:08
【问题描述】:

我将 quickfixj 与 Wildfly Java EE 服务器一起使用。我希望将修复日志与应用程序日志合并。但是有“^A”分隔符。有没有办法将quickfixj引擎的编码设置为UTF?如有任何帮助,我将不胜感激。

【问题讨论】:

    标签: logging encoding wildfly quickfix quickfixj


    【解决方案1】:

    这听起来不像是 UTF 编码。 “^A”字符是 SOH,FIX tag=value 字段之间的分隔符。如果您想查看不同的字符,您可以修改 QFJ 日志记录组件,将 SOH 字符转换为不同的字符(如“|”),然后再将数据写入日志。

    【讨论】:

    • 是的,你是对的。不幸的是,它不能设置为记录器的参数——这将是一个不错的功能。目前(至于 1.5.3 版)我认为它是在方法 calculateString 中的 FieldMap 类中硬编码的。
    • 如果您进行了更改,您可以将其作为补丁提交给 QFJ。我同意这将是一个有用的功能。
    【解决方案2】:

    “^A”字符实际上是 ASCII SOH (0x01) 字符,FIX 使用它作为字段分隔符。这正是 FIX 使用的。它在 FIX 规范中。

    (不知道您为什么认为它是 Windows 字符集字符。不是。)

    如果您真的想用其他东西替换 SOH 字符,那么创建一个小脚本(可能使用 sed)来执行查找和替换将是微不足道的。

    【讨论】:

      【解决方案3】:

      如果你更喜欢 sed 而不是 tr,tail -f foo.log | sed 's/0x01/|/g' 也应该可以工作。

      最好的! --- 瓦迪姆

      【讨论】:

        猜你喜欢
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 2017-09-18
        • 1970-01-01
        • 2015-08-27
        • 2012-01-15
        • 2023-04-11
        • 2013-08-19
        相关资源
        最近更新 更多