[jboss-svn-commits] JBoss Common SVN: r3076 - jboss-logmanager/trunk/src/main/java/org/jboss/logmanager.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 12 22:20:19 EDT 2009


Author: david.lloyd at jboss.com
Date: 2009-03-12 22:20:18 -0400 (Thu, 12 Mar 2009)
New Revision: 3076

Modified:
   jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java
Log:
Add access checks for updating handlers; add clearHandlers() convenience method

Modified: jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java
===================================================================
--- jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java	2009-03-12 22:31:13 UTC (rev 3075)
+++ jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java	2009-03-13 02:20:18 UTC (rev 3076)
@@ -184,6 +184,7 @@
 
     /** {@inheritDoc} */
     public void addHandler(Handler handler) throws SecurityException {
+        LogContext.checkAccess();
         boolean ok;
         do {
             final Handler[] oldHandlers = handlers;
@@ -201,6 +202,7 @@
 
     /** {@inheritDoc} */
     public void removeHandler(Handler handler) throws SecurityException {
+        LogContext.checkAccess();
         boolean ok;
         do {
             final Handler[] oldHandlers = handlers;
@@ -240,6 +242,16 @@
         return handlers == null ? EMPTY_HANDLERS : handlers.clone();
     }
 
+    /**
+     * A convenience method to quickly clear all handlers.
+     *
+     * @throws SecurityException if a security manager exists and if the caller does not have {@code LoggingPermission(control)}
+     */
+    public void clearHandlers() throws SecurityException {
+        LogContext.checkAccess();
+        handlersUpdater.set(this, null);
+    }
+
     /** {@inheritDoc} */
     public void setUseParentHandlers(boolean useParentHandlers) {
         this.useParentHandlers = useParentHandlers;




More information about the jboss-svn-commits mailing list