How to use java.util.logging handlers with JBoss EAP

Solution Unverified - Updated -

Issue

  • Is it possible to use java.util.logging handlers (for example, java.util.logging.FileHandler) with JBoss EAP?
  • Specifying a java.util.logging handler as a custom handler in standalone.xml with a property results in a java.lang.IllegalArgumentException: No property "<property>" setter found for handler "<handler name>" error on server start up.

    <custom-handler name="MyHandler" class="java.util.logging.FileHandler" module="java.logging">
      <properties>
          <property name="pattern" value="sample.log"/>
      </properties>
    </custom-handler>
    

    Error:

    ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
      ("subsystem" => "logging"),
      ("custom-handler" => "<handler name>")
    ]): java.lang.IllegalArgumentException: No property "<property>" setter found for handler "<handler name>"
          at org.jboss.logmanager.config.AbstractPropertyConfiguration.setPropertyValueExpression(AbstractPropertyConfiguration.java:194)
          at org.jboss.logmanager.config.AbstractPropertyConfiguration.setPropertyValueString(AbstractPropertyConfiguration.java:155)
          at org.jboss.as.logging.handlers.HandlerOperations.handleProperty(HandlerOperations.java:703)
          at org.jboss.as.logging.handlers.HandlerOperations.handleProperty(HandlerOperations.java:591)
          at org.jboss.as.logging.handlers.HandlerOperations.access$000(HandlerOperations.java:86)
          at org.jboss.as.logging.handlers.HandlerOperations$HandlerAddOperationStepHandler.performRuntime(HandlerOperations.java:250)
          at org.jboss.as.logging.LoggingOperations$LoggingAddOperationStepHandler.performRuntime(LoggingOperations.java:185)
          at org.jboss.as.controller.AbstractAddStepHandler.performRuntime(AbstractAddStepHandler.java:338)
          at org.jboss.as.controller.AbstractAddStepHandler$1.execute(AbstractAddStepHandler.java:159)
          at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:999)
          at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:743)
          at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
          at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1411)
          at org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:521)
          at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:470)
          at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:432)
          at org.jboss.as.server.ServerService.boot(ServerService.java:427)
          at org.jboss.as.server.ServerService.boot(ServerService.java:386)
          at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:372)
          at java.lang.Thread.run(Thread.java:750)
    
  • Specifying a pattern for java.util.logging.FileHandler in logging.properties within an application results in the following exception when the application is deployed:

    # logging.properties
    handlers=MyHandler
    handler.MyHandler=java.util.logging.FileHandler
    handler.MyHandler.properties=pattern
    handler.MyHandler.pattern=/tmp/Sample.log
    

    Error:

    ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.deployment.unit."<deployment>".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."<deployment>".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "<deployment>"
          at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)
          at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)
          at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)
          at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
          at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
          at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
          at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
          at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
          at java.lang.Thread.run(Thread.java:750)
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYLOG0042: Failed to configure logging using 'logging.properties' configuration file.
          at org.jboss.as.logging.deployments.LoggingConfigDeploymentProcessor.configure(LoggingConfigDeploymentProcessor.java:262)
          at org.jboss.as.logging.deployments.LoggingConfigDeploymentProcessor.processDeployment(LoggingConfigDeploymentProcessor.java:114)
          at org.jboss.as.logging.deployments.AbstractLoggingDeploymentProcessor.deploy(AbstractLoggingDeploymentProcessor.java:68)
          at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)
          ... 8 more
    Caused by: java.lang.IllegalArgumentException: No property "<property>" setter found for handler "<handler name>"
          at org.jboss.logmanager.config.AbstractPropertyConfiguration.setPropertyValueExpression(AbstractPropertyConfiguration.java:194)
          at org.jboss.logmanager.config.AbstractPropertyConfiguration.setPropertyValueString(AbstractPropertyConfiguration.java:155)
          at org.jboss.logmanager.PropertyConfigurator.configureProperties(PropertyConfigurator.java:754)
          at org.jboss.logmanager.PropertyConfigurator.configureHandler(PropertyConfigurator.java:725)
          at org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:528)
          at org.jboss.as.logging.deployments.LoggingConfigDeploymentProcessor.configure(LoggingConfigDeploymentProcessor.java:257)
          ... 11 more
    
  • Specifying constructorProperties in the logging.properties file within an application results in a java.lang.IllegalArgumentException: No property "<property>" for handler "<handler name>" when the application is deployed:

    # logging.properties
    handlers=MyHandler
    handler.MyHandler=java.util.logging.FileHandler
    handler.MyHandler.properties=pattern
    handler.MyHandler.constructorProperties=pattern
    handler.MyHandler.pattern=/tmp/Sample.log
    

    Error:

    ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."<deployment>".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."<deployment>".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "<deployment>"
          at org.jboss.as.server@15.0.2.Final-redhat-00001//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:189)
          at org.jboss.msc@1.4.12.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
          at org.jboss.msc@1.4.12.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
          at org.jboss.msc@1.4.12.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
          at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
          at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
          at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
          at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
          at java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYLOG0042: Failed to configure logging using 'logging.properties' configuration file.
          at org.jboss.as.logging@15.0.2.Final-redhat-00001//org.jboss.as.logging.deployments.LoggingConfigDeploymentProcessor.configure(LoggingConfigDeploymentProcessor.java:261)
          at org.jboss.as.logging@15.0.2.Final-redhat-00001//org.jboss.as.logging.deployments.LoggingConfigDeploymentProcessor.processDeployment(LoggingConfigDeploymentProcessor.java:113)
          at org.jboss.as.logging@15.0.2.Final-redhat-00001//org.jboss.as.logging.deployments.AbstractLoggingDeploymentProcessor.deploy(AbstractLoggingDeploymentProcessor.java:68)
          at org.jboss.as.server@15.0.2.Final-redhat-00001//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:182)
          ... 8 more
    Caused by: java.lang.IllegalArgumentException: No property named "<property>" for handler "<handler name>"
          at org.jboss.logmanager@2.1.18.Final//org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.validate(AbstractPropertyConfiguration.java:98)
          at org.jboss.logmanager@2.1.18.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:336)
          at org.jboss.logmanager@2.1.18.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:289)
          at org.jboss.logmanager@2.1.18.Final//org.jboss.logmanager.config.LogContextConfigurationImpl.commit(LogContextConfigurationImpl.java:298)
          at org.jboss.logmanager@2.1.18.Final//org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:546)
          at org.jboss.as.logging@15.0.2.Final-redhat-00001//org.jboss.as.logging.deployments.LoggingConfigDeploymentProcessor.configure(LoggingConfigDeploymentProcessor.java:256)
          ... 11 more
    

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content