From: <yos...@us...> - 2012-10-09 02:46:07
|
Dear ICU team & users, I would like to propose the following API 'Removal' for: ICU 50 Please provide feedback by: Tuesday, 2012-10-9 Designated API reviewer: Michael Ow Ticket: http://bugs.icu-project.org/trac/ticket/9268 Background In ICU 4.4, we wanted to improve ICU4J's logging capability. As the start, we added a logger to TimeZone class. The logger instance is defined as below - /** * {@icu} A logger for TimeZone. Will be null if logging is not on by way of system * property: "icu4j.debug.logging" * @draft ICU 4.4 * @provisional This API might change or be removed in a future release. */ public static ICULogger TimeZoneLogger = ICULogger.getICULogger(TimeZone.class.getName()); There are several issues - 1. ICULogger is an implementation class, which should not be exposed as a public API. 2. There is no practical use case that ICU4J user need to write log through the logger. 3. ICULogger is subclassing java.util.logging.Logger, which has a problem with Google App Engine. 4. Subclassing java.util.logging.Logger is possible, but I think the current implementation seems to violate the Java logging framework's contract. ICULogger references a system property to enable/disable logging. However, finer control can be done (enabling logger by class, configuring logging level, etc) can be done by the standard JDK logging facility. Also, for many users, they would likely prefer to integrate logging from ICU4J with other facilities, controlled by a single framework. For these reasons, I think implementing our logger subclass and control the behavior by ourselves was a mistake. I propose to remove the field from TimeZone, and replace this with the standard Logger instance initialized via Logger.getLogger(String name) as the implementation. We may create custom logger for some other reasons in future, but it will be still private, not a part of public ICU4J APIs. Sorry, this is a late notice, but I would like to clean this up in ICU 50 release. Thanks, Yoshito |
From: Markus S. <mar...@gm...> - 2012-10-09 18:34:09
|
Sounds good to me, and thank you! markus |