Uploaded image for project: 'logback'
  1. logback
  2. LOGBACK-343

Moving from log4j to logback classic breaks java.policy.security behavior

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 1.0.0
    • None
    • None
    • CentOS 5.7

    Description

      Hello

      Simply replacing the log4j libraries with the logback ones breaks my RMI server at runtime.

      Please take the following code:

      public static void main(String[] args) throws Exception {
      System.setProperty("java.security.policy", "./src/main/config/java.policy");
      logger.debug("Policy location: {}", System.getProperty("java.security.policy"));
      if (System.getSecurityManager() == null)

      { System.setSecurityManager(new RMISecurityManager()); }

      System.setProperty("java.security.policy", "./src/main/config/java.policy");
      }

      And the following stacktrace:

      01:05:37.702 [main] DEBUG be.removed.fun.removed.TestMain - Policy location: ./src/main/config/java.policy
      Exception in thread "main" java.security.AccessControlException: access denied (java.util.PropertyPermission java.security.policy write)
      at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
      at java.security.AccessController.checkPermission(AccessController.java:546)
      at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
      at java.lang.System.setProperty(System.java:725)
      at be.removed.fun.removed.TestMain.main(TestMain.java:18)

      Somehow logback broke it, I can't even set a property anymore while I was able to read it before (I tested it, reading properties give the same results).

      FYI: If I put the "java.policy" file into my $JAVA_HOME/jre/lib/security, the file IS taken into account.

      POM.xml before operation:

      <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.0</version>
      </dependency>
      <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.16</version>
      </dependency>
      <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.6.0</version>
      </dependency>

      POM.xml after operation:

      <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.0</version>
      </dependency>
      <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>1.0.0</version>
      </dependency>
      <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.0.0</version>
      </dependency>

      Andrew

      Attachments

        Activity

          People

            logback-dev Logback dev list
            andrew Andrew Bourgeois
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: