Hi John,
The enhancement is mainly for support purpose. For instance, if someone 
has a solution installed and they run into problem with Shindig then they 
would need to read the info and/or warning messages in their language if 
they're non-English speakers. They might also need to either report the 
issue or resolve it which consequently need to gather log and trace on the 
problem.
We can expand the logging for outward-facing if there's a requirement and 
welcome any suggestion from you.
Thanks!
Han




From:   John Hjelmstad <[email protected]>
To:     [email protected]
Date:   08/11/2010 10:31 PM
Subject:        Re: Logging enhancement for Shindig Java



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