Adding localization to logging message and exception ----------------------------------------------------
Key: ADFFACES-441 URL: https://issues.apache.org/jira/browse/ADFFACES-441 Project: MyFaces ADF-Faces Issue Type: Improvement Components: Components Environment: Generic Reporter: jijun wang Proposal: 1) use resource bundle for logging message in java files above fine level so those message could be localized; 2) localize part/all exception in java files with resource bundle Benefit: More information in local language accessible for people in tech support, operation, deployment, field application etc whose software uses trinidad code Details: Trinidad-api and trinidad-impl will have their own LoggerBundle.xrts where message to be localized is defined. A LoggerUtils class will be added as a decorator in each project. LoggerUtils.createTrinidadLogger will return a TrinidadLogger instance with appropriate resource bundle attached. Message localization in logging is thus available from java logging by inheritance. Localization in exception message is achieved by passing localized message to exception. For both logging and exception, server locale will be used. This might create inconsistency for exception when client locale and server locale are different. Since an exception not captured would show both on server logger and client browser, using server locale is more practical. Open Issues: 1) Current API in TrinidadLogger is not enough to handle logging that contains message, message parameters and throwable. e.g _LOG.warning("Unable to instantiate converterClass:" + converterName, e); would become: _LOG.warning("UNABLE_INSTANTIATE_CONVERTERCLASS", converterName, e); or _LOG.logp(Level.WARNING, ..."UNABLE_INSTANTIATE_CONVERTERCLASS", converterName, e) But we neither warning() nor logp() has API that would take (...String message, Object parm, throwable e) as signature. Could we add needed API? 2) Should LoggerUtils provide some methods like public static String getMessage(TrinidadLogger logger, String key (, Object params([])?)?) to retrieve localized string from resource bundle(parameter substitution could also be done in the method). The alternative is to use TrinidadLogger.getResourceBundle.getString(key) to retrieve localized message(in this case no parameter substitution or we don't localize exception message that carries parameters) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.