12 Replies Latest reply on Jan 11, 2013 1:43 AM by Ramanathan Lakshmanan

    EAP jboss log.txt getting too large

    Ramanathan Lakshmanan Newbie

      I'm developing Struts 2 application and deploying that as war on EAP Jboss 6. At the beginning of development nothing gone wrong. But recently i realized that my disk space is grtting full because of log.txt file . When searching on web about this got lot of discussions but nothing helped me. From one post i tried to exclude log4j lib from the 'deployment-structure.xml' but nothing happened. Then i gone through standalone.xml file i found on subsystem tag which is subsystem xmlns="urn:jboss:domain:logging:1.1". i removed that completely and deleted log.txt from that location. Now file is not created. Then tried different things on that tag each time log.txt file was created and lo was getting populated. I tried log4j.properties in my project but file was created not populated.Now i could understand that the subsystem xmlns="urn:jboss:domain:logging:1.1" line calls the inbuilt jar file and a class from that jar creates the file. So please let me know where is that jar file actually located. I attached my log4j.properties with this query.

        • 1. Re: EAP jboss log.txt getting too large
          James Perkins Master

          Can you paste your logging configuration from the standalone.xml (assuming you're running in standalone mode). There is no file by default called log.txt so it has to be somewhere in a configuration file.

           

          --

          James R. Perkins

          • 2. Re: EAP jboss log.txt getting too large
            Ramanathan Lakshmanan Newbie

            I'm running EAP Jboss binding to 0.0.0.0 by using the command 'standalone.bat -b 0.0.0.0 -bmanagement 0.0.0.0'(for Windows) and ' ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0&' (For Ubuntu). I'll paste the server console first , because the first echo is about the log, but i don't understand it,

             

            WARNING: -logmodule is deprecated. Please use the system property 'java.util.logging.manager' or the 'java.util.logging.LogManager' service loader.

            09:54:14,903 INFO  [org.jboss.as.security] (MSC service thread 1-2) JBAS013100: Current PicketBox version=4.0.9.Final-redhat-1

            09:54:15,278 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.11.Final-redhat-1)

            09:54:16,277 INFO  [org.jboss.as.naming] (MSC service thread 1-3) JBAS011802: Starting Naming Service

            09:54:16,340 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-4) JBAS015400: Bound mail session [java:jboss/mail/Default]

            09:54:16,418 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 29) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)

            09:54:17,573 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-2) Starting Coyote HTTP/1.1 on http-/0.0.0.0:8080

            09:54:18,151 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]

            09:54:18,182 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "ESS.war"

            09:54:18,198 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "EMAG.war"

            09:54:18,213 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) JBAS015012: Started FileSystemDeploymentService for directory E:\Servers\EAP 6\jboss-eap-6.0\standalone\deployments

            09:54:18,447 INFO  [org.jboss.as.remoting] (MSC service thread 1-4) JBAS017100: Listening on 0.0.0.0:9999

            09:54:18,463 INFO  [org.jboss.as.remoting] (MSC service thread 1-4) JBAS017100: Listening on 0.0.0.0:4447

            09:54:42,565 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) JBAS010403: Deploying JDBC-compliant driver class oracle.jdbc.OracleDriver (version 11.2)

            09:54:42,706 INFO  [org.jboss.as.osgi] (MSC service thread 1-4) JBAS011907: Register module: Module "deployment.EMAG.war:main" from Service Module Loader

            09:54:45,842 INFO  [org.jboss.web] (MSC service thread 1-1) JBAS018210: Registering web context: /EMAG

            09:54:51,209 INFO  [org.jboss.as.osgi] (MSC service thread 1-4) JBAS011907: Register module: Module "deployment.ESS.war:main" from Service Module Loader

            09:54:52,911 INFO  [org.jboss.web] (MSC service thread 1-1) JBAS018210: Registering web context: /ESS

            09:54:52,943 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 30) JBAS018559: Deployed "ESS.war"

            09:54:52,943 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 30) JBAS018559: Deployed "EMAG.war"

            09:54:53,848 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://0.0.0.0:9990

            09:54:53,848 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss EAP 6.0.0.GA (AS 7.1.2.Final-redhat-1) started in 53562ms - Started 495 of 578 services (82 services are passive or on-demand)

            ......

             

            Now i'll paste the standalone.xml where the log manager is called,...

             

            <subsystem xmlns="urn:jboss:domain:logging:1.1">

                        <console-handler name="CONSOLE">

                            <level name="INFO"/>

                            <formatter>

                                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

                            </formatter>

                        </console-handler>

                        <periodic-rotating-file-handler name="FILE">

                            <formatter>

                                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

                            </formatter>

                            <file path="server.log" relative-to="jboss.server.log.dir"/>

                            <suffix value=".yyyy-MM-dd"/>

                            <append value="true"/>

                        </periodic-rotating-file-handler>

                        <logger category="com.arjuna">

                            <level name="WARN"/>

                        </logger>

                        <logger category="org.apache.tomcat.util.modeler">

                            <level name="WARN"/>

                        </logger>

                        <logger category="sun.rmi">

                            <level name="WARN"/>

                        </logger>

                        <logger category="jacorb">

                            <level name="WARN"/>

                        </logger>

                        <logger category="jacorb.config">

                            <level name="ERROR"/>

                        </logger>

                        <root-logger>

                            <level name="INFO"/>

                            <handlers>

                                <handler name="CONSOLE"/>

                                <handler name="FILE"/>

                            </handlers>

                        </root-logger>

                    </subsystem>

             

            .....

             

            Thats what i have in standalone.xml.....

            • 3. Re: EAP jboss log.txt getting too large
              Nicklas Karlsson Master

              So you are getting so many INFO level entries that your disk fills up? Sounds like there are also other problems than logging config...

              • 4. Re: EAP jboss log.txt getting too large
                Ramanathan Lakshmanan Newbie

                not just INFO messages, it also contains lots of DEBUG messages than INFO.

                • 5. Re: EAP jboss log.txt getting too large
                  James Perkins Master

                  I'm not sure how DEBUG messages are being logged. I don't see anything in your log4j configuration or the server logging configuration that would cause debug messages to be logged. Maybe try adding the system property org.jboss.as.logging.per-deployment=false.

                   

                  --

                  James R. Perkins

                  1 of 1 people found this helpful
                  • 6. Re: EAP jboss log.txt getting too large
                    Ramanathan Lakshmanan Newbie

                    Where should i add 'org.jboss.as.logging.per-deployment=false' in log4j.properties(or)logging.properties?

                    • 7. Re: EAP jboss log.txt getting too large
                      James Perkins Master

                      You should be able to set it when starting the server with -Dorg.JBoss.as.logging. per-deployment=false. Or you can set it in your configuration in the system property section.

                      1 of 1 people found this helpful
                      • 8. Re: EAP jboss log.txt getting too large
                        Ramanathan Lakshmanan Newbie

                        Thank you so much james. I'll try it and update the result soon.

                        • 9. Re: EAP jboss log.txt getting too large
                          Ramanathan Lakshmanan Newbie

                          I got following when i tried

                          ./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0  -Dorg.jboss.as.logging. per-deployment=false

                          =========================================================================

                           

                            JBoss Bootstrap Environment

                           

                            JBOSS_HOME: /usr/local/EAP-6.0.0.GA/jboss-eap-6.0

                           

                            JAVA: java

                           

                            JAVA_OPTS:  -server -Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml

                           

                          =========================================================================

                           

                          java.lang.IllegalArgumentException: className is null

                                  at org.jboss.logmanager.config.AbstractPropertyConfiguration.<init>(AbstractPropertyConfiguration.java:52)

                                  at org.jboss.logmanager.config.HandlerConfigurationImpl.<init>(HandlerConfigurationImpl.java:54)

                                  at org.jboss.logmanager.config.LogContextConfigurationImpl.addHandlerConfiguration(LogContextConfigurationImpl.java:138)

                                  at org.jboss.logmanager.PropertyConfigurator.configureHandler(PropertyConfigurator.java:477)

                                  at org.jboss.logmanager.PropertyConfigurator.configureLogger(PropertyConfigurator.java:423)

                                  at org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:372)

                                  at org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:92)

                                  at org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:300)

                                  at org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:262)

                                  at java.util.logging.LogManager$2.run(LogManager.java:285)

                                  at java.security.AccessController.doPrivileged(Native Method)

                                  at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:283)

                                  at java.util.logging.LogManager.getLogManager(LogManager.java:266)

                                  at java.util.logging.Logger.<init>(Logger.java:252)

                                  at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1136)

                                  at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1133)

                                  at java.util.logging.LogManager$1.run(LogManager.java:198)

                                  at java.security.AccessController.doPrivileged(Native Method)

                                  at java.util.logging.LogManager.<clinit>(LogManager.java:175)

                                  at org.jboss.modules.Main.main(Main.java:278)

                          JBAS015801: Invalid option 'per-deployment=false'Usage: ./standalone.sh [args...]

                          where args include:

                              --admin-only                        Set the server's running type to

                                                                  ADMIN_ONLY causing it to open

                                                                  administrative interfaces and accept

                                                                  management requests but not start other

                                                                  runtime services or accept end user

                                                                  requests.

                           

                              -b=<value>                          Set system property jboss.bind.address

                                                                  to the given value

                           

                              -b <value>                          Set system property jboss.bind.address

                                                                  to the given value

                           

                              -b<interface>=<value>               Set system property

                                                                  jboss.bind.address.<interface> to the

                                                                  given value

                           

                              -c=<config>                         Name of the server configuration file

                                                                  to use (default is "standalone.xml")

                           

                              -c <config>                         Name of the server configuration file

                                                                  to use (default is "standalone.xml")

                           

                              -D<name>[=<value>]                  Set a system property

                           

                              -h                                  Display this message and exit

                           

                              --help                              Display this message and exit

                           

                              -P=<url>                            Load system properties from the given

                                                                  url

                           

                              -P <url>                            Load system properties from the given

                                                                  url

                           

                              --properties=<url>                  Load system properties from the given

                                                                  url

                           

                              -S<name>[=<value>]                  Set a security property

                           

                              --server-config=<config>            Name of the server configuration file

                                                                  to use (default is "standalone.xml")

                           

                              -u=<value>                          Set system property

                                                                  jboss.default.multicast.address to the

                                                                  given value

                           

                              -u <value>                          Set system property

                                                                  jboss.default.multicast.address to the

                                                                  given value

                           

                              -V                                  Print version and exit

                           

                              -v                                  Print version and exit

                           

                              --version                           Print version and exit

                          • 10. Re: EAP jboss log.txt getting too large
                            Nicklas Karlsson Master

                            James had a copypaste-typo. no spaces in the -Dorg.jboss.as.logging.per-deployment=false

                            • 11. Re: EAP jboss log.txt getting too large
                              Ramanathan Lakshmanan Newbie

                              Thanks Karlsson and James... Its working and log.txt not getting updating now.... Thanks lot..

                              • 12. Re: EAP jboss log.txt getting too large
                                Ramanathan Lakshmanan Newbie

                                I found a permanent solution to this problem by updating standalone.conf file instead of setting property while starting  as follows,...

                                 

                                ## -*- shell-script -*- ######################################################

                                ##                                                                          ##

                                ##  JBoss Bootstrap Script Configuration                                    ##

                                ##                                                                          ##

                                ##############################################################################

                                 

                                #

                                # This file is optional; it may be removed if not needed.

                                #

                                 

                                #

                                # Specify the maximum file descriptor limit, use "max" or "maximum" to use

                                # the default, as queried by the system.

                                #

                                # Defaults to "maximum"

                                #

                                #MAX_FD="maximum"

                                 

                                #

                                # Specify the profiler configuration file to load.

                                #

                                # Default is to not load profiler configuration file.

                                #

                                #PROFILER=""

                                 

                                #

                                # Specify the location of the Java home directory.  If set then $JAVA will

                                # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java".

                                #

                                #JAVA_HOME="/opt/java/jdk"

                                 

                                #

                                # Specify the exact Java VM executable to use.

                                #

                                #JAVA=""

                                 

                                if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then

                                   JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman"

                                fi

                                 

                                # Uncomment the following line to prevent manipulation of JVM options

                                # by shell scripts.

                                #

                                #PRESERVE_JAVA_OPTS=true

                                 

                                #

                                # Specify options to pass to the Java VM.

                                #

                                if [ "x$JAVA_OPTS" = "x" ]; then

                                   JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dorg.jboss.as.logging.per-deployment=false -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

                                   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"

                                   JAVA_OPTS="$JAVA_OPTS -Djboss.server.default.config=standalone.xml"

                                else

                                   echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"

                                fi

                                 

                                # Sample JPDA settings for remote socket debugging

                                #JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

                                 

                                # Sample JPDA settings for shared memory debugging

                                #JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_shmem,server=y,suspend=n,address=jboss"

                                 

                                # Uncomment to not use JBoss Modules lockless mode

                                #JAVA_OPTS="$JAVA_OPTS -Djboss.modules.lockless=false"

                                 

                                # Uncomment to gather JBoss Modules metrics

                                #JAVA_OPTS="$JAVA_OPTS -Djboss.modules.metrics=true"