java - 如何为 QuickFIX/J 日志配置 log4j2.xml?
问题描述
我在我的项目中使用 QuickFIX/J 版本 2.1.1 和 log4j2。Quickfix 将日志记录到指定的路径 FileLogPath,并且日志文件不会每天滚动。如何使用 log4j2.xml 配置配置每天存储的日志文件?
解决方案
您目前无法通过 QuickFIX/J 配置方式进行配置。
您可以做的是创建自己的日志记录策略:
- 创建一个日志工厂类,扩展
quickfix.LogFactory
- 创建一个日志类,扩展
quickfix.Log
- 从该
quickfix.LogFactory.create( SessionID sessionID )
方法中,从您在步骤 2 中创建的类中返回一个日志类实例。记下该quickfix.SessionSettings
实例的日志路径和日志心跳等设置。 - 在您的日志类中(参见第 2 步),委托 log4J 功能进行每日滚动
- 创建实例时传递日志工厂类的实例(参见步骤 1)
quickfix.Initiator
。
然后应该使用您在步骤 2 中创建的记录器类的实例来完成记录。
注意 QuickFIX/J 是开源的;您可以随时查看实现quickfix.LogFactory
并quickfix.Log
获取一些示例。例如quickfix.FileLogFactory
和quickfix.FileLog
。
推荐阅读
- windows-installer - 错误代码 1703,没有消息和选项,按 OK 后强制重启
- c# - 如何将具有属性的类传递给 WPF 模式窗口,对其进行修改,然后将类返回父窗口?
- regex - 在字符串前后添加一个单词
- c++ - strcpy 可以在 Windows 上编译,但不能在 Linux 上编译
- java - JavaFX:FileChooser 闪烁
- django - Django:向所有用户(会话)发送消息
- ios - XCUITest/Appium 在性能测试期间在 iOS 上的应用程序上加载
- javascript - 找不到方法 moveThreadToInbox((class))
- c# - 如何使用 HttpClient 在 c# 中调用 Web api?
- python - 单击按钮时的烧瓶运行功能