我正在使用带有这样的日志原型的第三方软件库:
runtime.getInstance().log(int logtype, String moduleName, String logtext);
我有一个实用程序库,我希望它独立于库,但我也希望能够从我自己的类中将内容记录到软件包中。这很好,因为短信很普遍,比如“你传递了错误的数据!” 和“等等等等成功了!” 此外,我已经封装了软件供应商的日志功能,所以我什至不担心符合一些随机 API。
我担心(我为什么要写这篇文章)是我的系统中会有各种不同的模块。所以问题是这样的:
ModuleFoo extends com.thirdpartyvendor.BaseModule
ModuleBar extends com.thirdpartyvendor.BaseModule
ModuleFoo
---包含 ---> 的实例IndependentDataStructure
---尝试将日志条目写入我的WrappedLogger
---> 但数据结构没有对ModuleFoo
.
ModuleBar
---包含 ---> 的实例IndependentDataStructure
---尝试将日志条目写入我的WrappedLogger
---> 但数据结构没有对ModuleBar
.
目前我的系统传递了一个字段String moduleName
,坦率地说让我感到恶心......但我希望日志条目告诉我我的模块是什么!如果不包含对 a (或 a )的引用,记录器如何知道实例是否IndependentDataStructure
正在使用(或其他模块)?ModuleFoo
ModuleBar
IndependentDataStructure
BaseModule
String moduleName