The design of the restriction position for "isLoggable" is unreasonable
Author: qlang122Created Dec 26, 2023Updated Dec 26, 2023
The problem of design thinking!
Logger.json() -> LoggerPrinter.json() (json format in here, Time-consuming) -> LoggerPrinter.d() -> LoggerPrinter.log()
Action code:
for (LogAdapter adapter : logAdapters) {
if (adapter.isLoggable(priority, tag)) {
adapter.log(priority, tag, message);
}
}Why is this design problematic?
Because many users actually do this:
Logger.addLogAdapter(object : AndroidLogAdapter(formatStrategy) {
override fun isLoggable(priority: Int, tag: String?): Boolean {
return BuildConfig.DEBUG
}
})And that's where the problem lies
Source: orhanobut/logger