> console中的log无法被程序捕捉
可能产生了误解,GcExcel 的 log 是可以通过 logger 指定输出方式的,只是默认会输出到 console 里。
通过 log4J 的配置,可以改到文件里,也可以用过自定义 Appender 存到自定义的对象里,例如队列。
> 光靠log是无法在程序中自动化修复文件的,只能靠后续人工处理。
其实,不论是提供一个 handler 的注册接口,或是 open 结束后进行修复。按我理解,错误的内容,可能都需要研发同学介入,检查错误,然后去写对应的逻辑,处理对应的错误。
那这个问题就变成两个点:
1. 时机问题,要么在打开过程中,遇到错误,调用 handler 处理。要么 open 后根据 log 进行处理。目前来看,GcExcel 直接可以使用第二种方式。
2. 错误检查,错误在第一次出现时,应该需要人工分析错误日志。一旦分析后,应该可以通过代码对现在输出的 log 进行分析,查看是否有已知类型的错误,执行对应的修复逻辑。
因此根据目前 GcExcel 已有的能力,应该是可以支撑来做修复功能的。但也可以再思考一下是否要在业务系统中加入这个功能,感觉实现成本应该不低。
也可以考虑在前端或者其他系统侧,加入检查机制,避免错误的发生。 |