+1

Thanks,
Eduard


On Sun, Feb 16, 2014 at 6:27 PM, Denis Gervalle <[email protected]> wrote:

> +1
>
>
> On Sun, Feb 16, 2014 at 2:47 PM, Thomas Mortagne
> <[email protected]>wrote:
>
> > +1
> >
> > On Sat, Feb 15, 2014 at 6:13 PM, [email protected] <[email protected]>
> > wrote:
> > > Hi devs,
> > >
> > > On
> >
> http://dev.xwiki.org/xwiki/bin/view/Community/JavaCodeStyle#HLoggingBestPracticeswehave
>  some best practices defined for logging.
> > >
> > > I'd like to propose some additions.
> > >
> > > Best practices:
> > >
> > > * Use SLF4J
> > > * If you're in a component get the logger injected using @Inject
> private
> > Logger logger otherwise use:
> > > private static final Logger LOGGER = LoggerFactory.getLogger(My.class);
> > > * Use logger.info() when it's absolutely necessary for the user to see
> > the message in the logs. Usually only used at startup and we want to
> limit
> > what the user sees to the absolute necessary to avoid swamping him.
> > > * Use logger.warning() when an error happens but it doesn't compromise
> > the stability and general working of an XWiki instance. A warning just
> > shows the user that something has gone wrong and it should provide him
> with
> > as much information as possible to solve the issue. Do not print a stack
> > trace when you output a warning since stack traces fill the logs and
> should
> > be reserved for errors. In the view of users stack traces are synonymous
> > with errors. We want it to be easy for admins to visually check the log
> > files and see important problems (ie errors).
> > > * Use logger.error() when there's an important problem that compromises
> > the stability of the XWiki instance or that prevent an important system
> > from working and that should not have happened. Always pass a stack trace
> > when logging errors since it's something that shouldn't have happened an
> a
> > developer will need to debug the problem to fix it.
> > > * Always log as much information as possible to make it easier to
> > understand what's going on.
> > > * Surround parameters with "[]" in order to separate visually the text
> > from the parameters and also clearly notice when leading/trailing spaces
> > are located in parameters.
> > > * For improved performances, always use the vararg signature of SLF4J
> > for logging parameters and do not concatenate them manually:
> > >
> > > this.logger.debug("Test message with [{}] and [{}]", param1, param2);
> > >
> > > vs
> > >
> > > this.logger.debug("Test message with [" + param1 + "] and [" + param2 +
> > "]", param1, param2);
> > >
> > > * When logging a warning, we don't want to log the full stack trace but
> > it's still interesting from time to time to display the root issue. If
> you
> > do the following you won't get the root issue:
> > >
> > > LOGGER.warn("Failed to determine if the index exists: [{}]. Trying to
> > recreate the index..", e.getMessage());
> > >
> > > Instead use ExceptionUtils from commons lang:
> > >
> > > LOGGER.warn("Failed to determine if the index exists: [{}]. Trying to
> > recreate the index..", ExceptionUtils.getRootCauseMessage(e));
> > >
> > > WDYT?
> > >
> > > Thanks
> > > -Vincent
> > >
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > devs mailing list
> > > [email protected]
> > > http://lists.xwiki.org/mailman/listinfo/devs
> >
> >
> >
> > --
> > Thomas Mortagne
> > _______________________________________________
> > devs mailing list
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
>
>
>
> --
> Denis Gervalle
> SOFTEC sa - CEO
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to