[ 
https://issues.apache.org/jira/browse/UIMA-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15868684#comment-15868684
 ] 

Marshall Schor edited comment on UIMA-5324 at 2/27/17 4:54 PM:
---------------------------------------------------------------

for (1): have the UIMA logger facade go (by default) to the SLF4j facade.  This 
allows UIMA to not have its own back-end for logging, and to pick up and use 
whatever back-end logging might be configured in an embedding application.

for (2): include the slf4j-jdk14 jar in the UIMA binary distribution.  The 
out-of-the-box launchers configure the class path to include this jar.  This 
jar is the slf4j back-end connection to the built-in-to-Java logger, which was 
the v2 default, so by out-of-the-box default, logging will be like it is in v2. 
 

for (3): --add a new JVM system property:  -Duima.suppress_annotator_logging.  
If specified, then annotator loggers are suppressed.-- 
--add a new API method: suppressAnnotatorLogging(boolean).  This API will be 
both global (in the UIMAFramework class as a static), and in the UimaContext; 
the global one overrides.   The implementation will only suppress logging by 
loggers obtained using the standard methods on the Annotator base 
implementations, one of uimaContext().getLogger(), or getUimaLogger(), or 
getSlf4jLogger().--
add a new parameter that can be set in the Additional Parameters Map passed to 
the
produceAnalysisEngine or produceResource call; the key is 
<code>AnalysisEngine.PARAM_THROTTLE_EXCESSIVE_ANNOTATOR_LOGGING</code>,
and the value is the number of messages allowed before logging is suppressed.  
This value is applied to each logging level, separately.  To suppress all 
logging use 0.


was (Author: schor):
for (1): have the UIMA logger facade go (by default) to the SLF4j facade.  This 
allows UIMA to not have its own back-end for logging, and to pick up and use 
whatever back-end logging might be configured in an embedding application.

for (2): include the slf4j-jdk14 jar in the UIMA binary distribution.  The 
out-of-the-box launchers configure the class path to include this jar.  This 
jar is the slf4j back-end connection to the built-in-to-Java logger, which was 
the v2 default, so by out-of-the-box default, logging will be like it is in v2. 
 

for (3): --add a new JVM system property:  -Duima.suppress_annotator_logging.  
If specified, then annotator loggers are suppressed.-- add a new API method: 
suppressAnnotatorLogging(boolean).  This API will be both global (in the 
UIMAFramework class as a static), and in the UimaContext; the global one 
overrides.   The implementation will only suppress logging by loggers obtained 
using the standard methods on the Annotator base implementations, one of 
uimaContext().getLogger(), or getUimaLogger(), or getSlf4jLogger().

> uv3 logging: change defaults, add suppress logging from annotators capability
> -----------------------------------------------------------------------------
>
>                 Key: UIMA-5324
>                 URL: https://issues.apache.org/jira/browse/UIMA-5324
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 3.0.0SDK-alpha02
>
>
> per discussion on dev list:
> 1) Make UIMA more embeddable by having it able to not have its own back-end 
> for logging.  
> 2) Never-the-less, have the out-of-the-box experience do reasonable logging.
> 3) Provide a simple, not logging-back-end-specific, way to globally suppress 
> logging from Annotator code.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to