6 Replies Latest reply on Jun 17, 2008 6:49 AM by senthil kumar

    receive mail from jboss automatically

    senthil kumar Newbie

      Hi,

      My requirement is, the JBOSS running on seperate machine without any person to monitor. In this case i expect to receive the mail if any exception occure in JBOSS.

      Please replay is it possible in JBOSS 4.0.4?

        • 1. Re: receive mail from jboss automatically
          Peter Johnson Master

          JBossAS uses Log4J to do its logging. There is an SMTPAppender that can be used to send emails for logging events. You would, of course, want to send only ERROR level log entries.

          • 2. Re: receive mail from jboss automatically
            senthil kumar Newbie

            Thanks for your reply.

            I have tried log4j.xml in <jboss-hoe>/server/messaging/conf directory.But i am not able to find the proper configuration for SMTP appenders.here i pasted my log4j.xml configuration as below. If possible please find the misatake and let me know.

            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

            <!-- ===================================================================== -->
            <!-- -->
            <!-- Log4j Configuration -->
            <!-- -->
            <!-- ===================================================================== -->

            <!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic Exp $ -->

            <!--
            | For more configuration infromation and examples see the Jakarta Log4j
            | owebsite: http://jakarta.apache.org/log4j
            -->

            <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">


            <!-- ================================= -->
            <!-- Preserve messages in a local file -->
            <!-- ================================= -->

            <!-- A time/date based rolling appender -->





            <!-- Rollover at midnight each day -->
            <param name="DatePattern" value="'.'yyyy-MM-dd"/>

            <!-- Rollover at the top of each hour
            <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
            -->


            <!-- The default pattern: Date Priority [Category] Message\n -->


            <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n

            -->



            <!-- A size based file rolling appender











            -->

            <!-- ============================== -->
            <!-- Append messages to the console -->
            <!-- ============================== -->





            <!-- -->


            <!-- The default pattern: Date Priority [Category] Message\n -->




            <!-- ====================== -->
            <!-- More Appender examples -->
            <!-- ====================== -->

            <!-- Buffer events and log them asynchronously


            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="SMTP"/>

            -->

            <!-- EMail events to an administrator












            -->















            <!-- Syslog events









            -->

            <!-- Log events to JMS (requires a topic to be created)






            -->

            <!-- Log events through SNMP


















            -->

            <!-- Emit events as JMX notifications










            -->

            <!-- ================ -->
            <!-- Limit categories -->
            <!-- ================ -->

            <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->




            <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->




            <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->




            <!-- Limit the jacorb category to WARN as its INFO is verbose -->




            <!-- Limit JBoss categories



            -->

            <!-- Limit the JSR77 categories -->




            <!-- Limit Axis based webservice category -->







            <!-- Limit JBossWS webservice category



            -->

            <!-- Decrease the priority threshold for the org.jboss.varia category



            -->

            <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]



            -->

            <!--
            | An example of enabling the custom TRACE level priority that is used
            | by the JBoss internals to diagnose low level details. This example
            | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
            | subpackages. This will produce A LOT of logging output.






            -->

            <!--
            | Logs these events to SNMP:
            - server starts/stops
            - cluster evolution (node death/startup)
            - When an EJB archive is deployed (and associated verified messages)
            - When an EAR archive is deployed



            <appender-ref ref="TRAP_LOG"/>




            <appender-ref ref="TRAP_LOG"/>




            <appender-ref ref="TRAP_LOG"/>




            <appender-ref ref="TRAP_LOG"/>




            <appender-ref ref="TRAP_LOG"/>


            -->

            <!-- ======================= -->
            <!-- Setup the Root category -->
            <!-- ======================= -->






            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="SMTP"/>
            <appender-ref ref="FILE"/>


            <!-- Clustering logging -->
            <!-- Uncomment the following to redirect the org.jgroups and
            org.jboss.ha categories to a cluster.log file.














            <appender-ref ref="CLUSTER"/>



            <appender-ref ref="CLUSTER"/>

            -->

            </log4j:configuration>
            <?xml version="1.0" encoding="windows-1250"?>

            • 3. Re: receive mail from jboss automatically
              Peter Johnson Master

              Please bracket XML text with [ code ] tags (select the XML text, click on Code button).

              For example SMTP appenders, see [url\http://www.jboss.com/index.html?module=bb&op=viewtopic&t=84887[/url]

              • 4. Re: receive mail from jboss automatically
                senthil kumar Newbie

                Thanks.

                Here i have pasted my log4j.xml content which is get from <jboss-home>/server/messaging/conf/ directory. Please check it and reply me.

                <?xml version="1.0" encoding="UTF-8"?>
                <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
                
                <!-- ===================================================================== -->
                <!-- -->
                <!-- Log4j Configuration -->
                <!-- -->
                <!-- ===================================================================== -->
                
                <!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic Exp $ -->
                
                <!--
                 | For more configuration infromation and examples see the Jakarta Log4j
                 | owebsite: http://jakarta.apache.org/log4j
                 -->
                
                <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
                
                
                 <!-- ================================= -->
                 <!-- Preserve messages in a local file -->
                 <!-- ================================= -->
                
                 <!-- A time/date based rolling appender -->
                 <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="File" value="${jboss.server.log.dir}/server.log"/>
                 <param name="Append" value="false"/>
                
                 <!-- Rollover at midnight each day -->
                 <param name="DatePattern" value="'.'yyyy-MM-dd"/>
                
                 <!-- Rollover at the top of each hour
                 <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
                 -->
                
                 <layout class="org.apache.log4j.PatternLayout">
                 <!-- The default pattern: Date Priority [Category] Message\n -->
                 <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
                
                 <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
                 <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
                 -->
                 </layout>
                 </appender>
                
                 <!-- A size based file rolling appender
                 <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="File" value="${jboss.server.log.dir}/server.log"/>
                 <param name="Append" value="false"/>
                 <param name="MaxFileSize" value="500KB"/>
                 <param name="MaxBackupIndex" value="1"/>
                
                 <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
                 </layout>
                 </appender>
                 -->
                
                 <!-- ============================== -->
                 <!-- Append messages to the console -->
                 <!-- ============================== -->
                
                 <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="Target" value="System.out"/>
                 <param name="Threshold" value="INFO"/>
                <!-- <param name="Threshold" value="DEBUG"/> -->
                
                 <layout class="org.apache.log4j.PatternLayout">
                 <!-- The default pattern: Date Priority [Category] Message\n -->
                 <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
                 </layout>
                 </appender>
                
                 <!-- ====================== -->
                 <!-- More Appender examples -->
                 <!-- ====================== -->
                
                 <!-- Buffer events and log them asynchronously
                 <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <appender-ref ref="FILE"/>
                 <appender-ref ref="CONSOLE"/>
                 <appender-ref ref="SMTP"/>
                 </appender>
                 -->
                
                 <!-- EMail events to an administrator
                 <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="Threshold" value="ERROR"/>
                 <param name="To" value="admin@myhost.domain.com"/>
                 <param name="From" value="nobody@myhost.domain.com"/>
                 <param name="Subject" value="JBoss Sever Errors"/>
                 <param name="SMTPHost" value="localhost"/>
                 <param name="BufferSize" value="10"/>
                 <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
                 </layout>
                 </appender>
                 -->
                 <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="Threshold" value="ERROR"/>
                 <param name="To" value="psenthil@gmail.com"/>
                 <param name="From" value="nobody@myhost.domain.com"/>
                 <param name="Subject" value="JBoss Sever Errors"/>
                 <param name="SMTPHost" value="localhost"/>
                 <param name="BufferSize" value="512"/>
                 <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
                 </layout>
                 </appender>
                
                 <!-- Syslog events
                 <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="Facility" value="LOCAL7"/>
                 <param name="FacilityPrinting" value="true"/>
                 <param name="SyslogHost" value="localhost"/>
                 <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
                 </layout>
                 </appender>
                 -->
                
                 <!-- Log events to JMS (requires a topic to be created)
                 <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="Threshold" value="ERROR"/>
                 <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
                 <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
                 </appender>
                 -->
                
                 <!-- Log events through SNMP
                 <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
                 <param name="ManagementHost" value="127.0.0.1"/>
                 <param name="ManagementHostTrapListenPort" value="162"/>
                 <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
                 <param name="LocalIPAddress" value="127.0.0.1"/>
                 <param name="LocalTrapSendPort" value="161"/>
                 <param name="GenericTrapType" value="6"/>
                 <param name="SpecificTrapType" value="12345678"/>
                 <param name="CommunityString" value="public"/>
                 <param name="ForwardStackTraceWithTrap" value="true"/>
                 <param name="Threshold" value="DEBUG"/>
                 <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
                 <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
                 </layout>
                 </appender>
                 -->
                
                 <!-- Emit events as JMX notifications
                 <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                
                 <param name="Threshold" value="WARN"/>
                 <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
                
                 <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
                 </layout>
                 </appender>
                 -->
                
                 <!-- ================ -->
                 <!-- Limit categories -->
                 <!-- ================ -->
                
                 <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
                 <category name="org.apache">
                 <priority value="INFO"/>
                 </category>
                
                 <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
                 <category name="org.jboss.serial">
                 <priority value="INFO"/>
                 </category>
                
                 <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
                 <category name="org.jgroups">
                 <priority value="INFO"/>
                 </category>
                
                 <!-- Limit the jacorb category to WARN as its INFO is verbose -->
                 <category name="jacorb">
                 <priority value="WARN"/>
                 </category>
                
                 <!-- Limit JBoss categories
                 <category name="org.jboss">
                 <priority value="INFO"/>
                 </category>
                 -->
                
                 <!-- Limit the JSR77 categories -->
                 <category name="org.jboss.management">
                 <priority value="INFO"/>
                 </category>
                
                 <!-- Limit Axis based webservice category -->
                 <category name="org.jboss.webservice">
                 <priority value="DEBUG"/>
                 </category>
                 <category name="org.jboss.axis">
                 <priority value="INFO"/>
                 </category>
                
                 <!-- Limit JBossWS webservice category
                 <category name="org.jboss.ws">
                 <priority value="DEBUG"/>
                 </category>
                 -->
                
                 <!-- Decrease the priority threshold for the org.jboss.varia category
                 <category name="org.jboss.varia">
                 <priority value="DEBUG"/>
                 </category>
                 -->
                
                 <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
                 <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
                 <priority value="TRACE" class="org.jboss.logging.XLevel"/>
                 </category>
                 -->
                
                 <!--
                 | An example of enabling the custom TRACE level priority that is used
                 | by the JBoss internals to diagnose low level details. This example
                 | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
                 | subpackages. This will produce A LOT of logging output.
                 <category name="org.jboss.system">
                 <priority value="TRACE" class="org.jboss.logging.XLevel"/>
                 </category>
                 <category name="org.jboss.ejb.plugins">
                 <priority value="TRACE" class="org.jboss.logging.XLevel"/>
                 </category>
                 -->
                
                 <!--
                 | Logs these events to SNMP:
                 - server starts/stops
                 - cluster evolution (node death/startup)
                 - When an EJB archive is deployed (and associated verified messages)
                 - When an EAR archive is deployed
                
                 <category name="org.jboss.system.server.Server">
                 <priority value="INFO" />
                 <appender-ref ref="TRAP_LOG"/>
                 </category>
                
                 <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
                 <priority value="INFO" />
                 <appender-ref ref="TRAP_LOG"/>
                 </category>
                
                 <category name="org.jboss.deployment.MainDeployer">
                 <priority value="ERROR" />
                 <appender-ref ref="TRAP_LOG"/>
                 </category>
                
                 <category name="org.jboss.ejb.EJBDeployer">
                 <priority value="INFO" />
                 <appender-ref ref="TRAP_LOG"/>
                 </category>
                
                 <category name="org.jboss.deployment.EARDeployer">
                 <priority value="INFO" />
                 <appender-ref ref="TRAP_LOG"/>
                 </category>
                
                 -->
                
                 <!-- ======================= -->
                 <!-- Setup the Root category -->
                 <!-- ======================= -->
                
                 <category name="org.jboss.serial">
                 <priority value="INFO"/>
                 </category>
                
                 <root>
                 <appender-ref ref="CONSOLE"/>
                 <appender-ref ref="SMTP"/>
                 <appender-ref ref="FILE"/>
                 </root>
                
                 <!-- Clustering logging -->
                 <!-- Uncomment the following to redirect the org.jgroups and
                 org.jboss.ha categories to a cluster.log file.
                
                 <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
                 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
                 <param name="File" value="${jboss.server.log.dir}/cluster.log"/>
                 <param name="Append" value="false"/>
                 <param name="MaxFileSize" value="500KB"/>
                 <param name="MaxBackupIndex" value="1"/>
                
                 <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
                 </layout>
                 </appender>
                 <category name="org.jgroups">
                 <priority value="DEBUG" />
                 <appender-ref ref="CLUSTER"/>
                 </category>
                 <category name="org.jboss.ha">
                 <priority value="DEBUG" />
                 <appender-ref ref="CLUSTER"/>
                 </category>
                 -->
                
                </log4j:configuration>
                <?xml version="1.0" encoding="windows-1250"?>



                • 5. Re: receive mail from jboss automatically
                  Peter Johnson Master

                  If you are running an SMTP server on the same machine as JBossAS, then this should work.

                  • 6. Re: receive mail from jboss automatically
                    senthil kumar Newbie

                    Sorry for late reply.

                    It is working. Thanks for your cooperation.