我计划将以前创建的 Java Web 应用程序迁移到 Azure。以前用于log4j
应用程序级别日志的应用程序保存在本地创建的文件中。问题是,由于 Azure 角色有多个实例,我必须收集和汇总这些日志,并确保它们存储在持久存储而不是虚拟机硬盘驱动器中。
日志记录是应用程序的关键组件,但它不能减慢实际工作的速度。我考虑了多种选择,我对最佳实践感到好奇,这是考虑到安全性、日志一致性和存储时间和后期处理性能的最佳解决方案。以下是选项列表:
- 使用带有自定义的 log4j
Appender
在 Azure SQL 中存储信息。 - 使用带有自定义的 log4j
Appender
在 Azure 表存储中存储信息。 - 编写一个附加工具,将数据从本地硬盘驱动器传输到上述任一持久性存储。
Java有没有其他方法或有针对这个问题的完整解决方案?考虑到上述标准,以上哪一项是最好的?