5

I want to use the logging subsystem for the Wildfly server for my application. With the help of some blogs online, i added a logging profile for my application in standalone.xml.

        <logging-profiles>
            <logging-profile name="myapp">
                <size-rotating-file-handler name="SIZE" autoflush="true">
                    <level name="ALL"/>
                    <file relative-to="jboss.server.log.dir" path="myapp.log"/>
                    <append value="true"/>
                </size-rotating-file-handler>
                <logger category="com.myapp.logs" use-parent-handlers="false">
                    <level name="ALL"/>
                    <handlers>
                        <handler name="SIZE"/>
                    </handlers>
                </logger>
                <root-logger>
                    <level name="INFO"/>
                    <handlers>
                        <handler name="SIZE"/>
                    </handlers>
                </root-logger>
            </logging-profile>
        </logging-profiles>

I also added the logger profile in Manifest.mf

Manifest-Version: 1.0
Class-Path:  
Logging-Profile: myapp

Now the application logging is working fine, but i would like to know if this can be configured from the management console itself. I tried many times, but failed. And this logging profile is nowhere seen in management console. Am i doing anything wrong here?

Note: I want to keep the application logs separate from server logs.

Vishnu P N
  • 415
  • 5
  • 19

1 Answers1

4

You're right I don't see it on the web console either. You can however use CLI to configure a logging profile easily enough. Below are the CLI commands you can use the create the generated XML above.

/subsystem=logging/logging-profile=myapp:add
/subsystem=logging/logging-profile=myapp/size-rotating-file-handler=SIZE:add(autoflush=true, level=ALL, append=true, file={relative-to=jboss.server.log.dir, path=myapp.log})
/subsystem=logging/logging-profile=myapp/logger=com.myapp.logs:add(use-parent-handlers=false, level=ALL, handlers=[SIZE])
/subsystem=logging/logging-profile=myapp/root-logger=ROOT:add(level=INFO, handlers=[SIZE])

With CLI you can run script files too.

$JBOSS_HOME/bin/jboss-cli.sh -c --file=configure-logging.cli
James R. Perkins
  • 16,800
  • 44
  • 60
  • Yeah.. that worked :) But is it necessary to add the root logger for the logging profile? Like if i add a logger category, can i use that for logging? – Vishnu P N Sep 02 '16 at 07:33
  • 2
    It's never necessary to use a root logger. However if you don't then only messages logged through the category you defined will be logged. – James R. Perkins Sep 02 '16 at 15:38