Hi Han:

You're right that there really is none. What's the main use case for
outward-facing logging in this way?

--John

On Wed, Aug 11, 2010 at 7:27 PM, Han Nguyen <[email protected]> wrote:

> I posted a question asking whether Shindig Java currently support any
> internationalization, and haven't heard back from anyone. Based on what
> I've seen in the code so far, I assume that there's none and would like to
> propose the following:
>
> We found that java.util.logging.Logger.logp() provides enough support for
> logging messages on Shindig Java side entailing its origin such as class
> name, method name, and message key for translation/subtitution, etc.
>
> Phase1-   Adding translation for existing log INFO and log WARN using
> java.util.logging.Logger.logp()
>
> For each module shindig-common, shindig-gadgets, shindig-samples, and
> shindig-social-api
> 1. Add a new Java package and new interface
> org.apache.shindig.logging.i18n.LoggingKeys Interface to centralize all
> message keys including the message resource bundle in one place.
> 2. Add org.apache.shindig.logging.i18n in java/resources, then add
> resource bundle messages.properties and its variation translation files
> here.
> 3. Update Logger instantiation to load the message resource bundle. Ex:
> Logger.getLogger(classname,LoggingKeys.MESSAGES);//where MESSAGES="
> org.apache.shindig.logging.i18n.messages" defined in step 1
> 4. Update all existing INFO and WARNING messages to use the supported
> logp() APIs for localization, we should also check for the log level
> before invoking logp(). For example:
>  if (logger.isLoggable(Level.INFO)) {
>    logger.logp(Level.INFO, classname, methodname, LoggingKeys.
> A_MESSAGE_KEY);
>  }
> 5. We'll try to do a few language translation for the messages.properties,
> and need help with the rest.
>
> Phase 2 - Adding log FINER for major method entries and exits to aid with
> debugging following similar pattern in step 4 which is checking for
> logging level before invoking the log method.
> We don't think there's any need to add i18n support for debug logging.
>
> if (logger.isLoggable(Level.FINER)) logger.entering(className,
> "mymethod(input params)");
>
> OR
>
> if (logger.isLoggable(Level.FINER)) logger.exiting(className,
> "mymethod(input params)");
>
> Although this enhancement touches a lot of code, it will not likely change
> any functionality of the code.
> Please provide feedbacks because we'd like to have your agreement and
> support on a common logging pattern to help better support Shindig code
> base.
> If there're no objections I will open a JIRA to track our progress by the
> end of the week.
> Thanks,
> Han

Reply via email to