You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/10/18 23:24:44 UTC

[sling-org-apache-sling-extensions-logback-groovy-fragment] 02/05: SLING-3814 - Groovy fragment bundle for Commons Log to support scriptable event evaluation

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-extensions-logback-groovy-fragment.git

commit 345990979f16d45313a9675bf36b09f5d9cb5258
Author: Chetan Mehrotra <ch...@apache.org>
AuthorDate: Mon Aug 4 09:15:37 2014 +0000

    SLING-3814 - Groovy fragment bundle for Commons Log to support scriptable event evaluation
    
    Add a readme
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1615516 13f79535-47bb-0310-9956-ffa450edef68
---
 README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9543478
--- /dev/null
+++ b/README.md
@@ -0,0 +1,44 @@
+Logback Groovy Fragment
+=======================
+
+This fragment is required to make use of Groovy based event evaluation support 
+provided by Logback. This enables programatic filtering of the log messages and
+is useful to get desired logs without flooding the system. For example Oak
+logs the JCR operations being performed via a particular session. if this lo is 
+enabled it would flood the log with messages from all the active session. However
+if you need logging only from session created in a particular thread then that 
+can be done in following way
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <configuration>
+      <jmxConfigurator/>
+      <newRule pattern="*/configuration/osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAction"/>
+      <newRule pattern="*/configuration/appender-ref-osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAppenderRefAction"/>
+      <osgi/>
+    
+       <appender name="OAK" class="ch.qos.logback.core.FileAppender">
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">      
+          <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator"> 
+            <expression><![CDATA[
+                return event.getThreadName().contains("JobHandler");
+            ]]></expression>
+          </evaluator>
+          <OnMismatch>DENY</OnMismatch>
+          <OnMatch>ACCEPT</OnMatch>
+        </filter>
+        <file>${sling.home}/logs/oak.log</file>
+        <encoder>
+          <pattern>%d %-5level [%thread] %marker- %msg %n</pattern> 
+          <immediateFlush>true</immediateFlush>
+        </encoder>
+      </appender>
+    
+      <logger name="org.apache.jackrabbit.oak.jcr.operations" level="DEBUG" additivity="false">
+          <appender-ref ref="OAK"/>
+      </logger>
+    </configuration>
+    
+Above logback config would route all log messages from `org.apache.jackrabbit.oak.jcr.operations`
+category to `${sling.home}/logs/oak.log`. Further only those log messages would be logged
+where the `threadName` contains `JobHandler`. Depending on the requirement the expression can
+be customised.
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.