I tried changing the config as you suggested but it still gives me the same
Socket Exception.
This is the class from which I instantiate my logger:
package com.siemens.med.hs.soarian.supportability.testing;
import junit.framework.TestCase;
import junit.textui.TestRunner;
import org.apache.log4j.*;
import com.siemens.med.hs.logging.Configurator;
import com.siemens.med.hs.logging.DomainLogger;
import com.siemens.med.hs.logging.EJBLogContextManager;
import com.siemens.med.hs.logging.Factory;
import com.siemens.med.hs.logging.LogContext;
import com.siemens.med.hs.logging.LogLevel;
import com.siemens.med.hs.logging.Logger;
public class TestAPI extends TestCase {
static final Logger _logger = Factory.getLogger(TestAPI.class);
public static final void main(String[] args) throws Exception {
TestRunner.run(TestAPI.class);
}
public void setUp() {
Configurator.configureAndWatch("log4j_junit_testing.xml",
"ChainsawFilters.xml");
// Configurator.configureAndWatch("log4j_junit_testing.xml",
"DomainFilters.xml");
// Configurator.configureAndWatch("log4j_junit_testing.xml",
"DomainFilters_UserFred.xml");
// Configurator.configureAndWatch("log4j_junit_testing.xml",
"DomainFilters.xml");
// Configurator.configureAndWatch("log4j_junit_testing.xml",
"DomainFilters_UserFred.xml");
// Configurator.configureAndWatch("log4j_junit_testing.xml",
"ChainsawFilters.xml");
}
public void testChainsaw() {
_logger.info("Sample info message");
}
}
Console Output:
.[Configurator.configureAndWatch] Confiruging Logging with
log4j_junit_testing.xml
[Configurator.configureAndWatch] Configuring Domain Filters with
ChainsawFilters.xml
testing.TestAPI INFO Sample info message
Time: 0.561
OK (1 test)
-----Original Message-----
From: Paul Smith [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 23, 2004 6:09 PM
To: Log4J Users List
Subject: Re: Getting SocketException
It looks from this that you have specified that the Chainsaw appender
(the SocketAppender) is only connected to the "DomainLogger.Chainsaw"
logger, so unless you are _actually_ sending log statements to that
logger, nothing will go over the SocketAppender.
What I believe your intent is, would be to:
* Remove this entry:
<!-- A domain logger that extends the default domain logger and will log
information for a given thread -->
<logger name="DomainLogger.Chainsaw">
<level class="com.siemens.med.hs.logging.LogLevel"
value="DEBUG_0" />
<appender-ref ref="CHAINSAW_CLIENT"/>
</logger>
* Replace this entry:
<!-- The default domainLogger. All domain loggers should be a sub
logger of this. -->
<logger name="DomainLogger" additivity="false">
<level class="com.siemens.med.hs.logging.LogLevel"
value="DEBUG_4" />
<appender-ref ref="DOMAINLOGGER_ERROR"/>
</logger>
With this instead:
<!-- The default domainLogger. All domain loggers should be a sub
logger of this. -->
<logger name="DomainLogger" additivity="false">
<level class="com.siemens.med.hs.logging.LogLevel"
value="DEBUG_4" />
<appender-ref ref="DOMAINLOGGER_ERROR"/>
<appender-ref ref="CHAINSAW_CLIENT"/>
</logger>
This will make sure that any logging statement that goes to "DomainLogger"
OR ANY OF IT's children (unless additivity is set to false for the children)
will go to the SocketAppender.
Hope that helps.
cheers,
Paul Smith
Currimbhoy Shahyan wrote:
>I am using Chainsaw via the web start and I connected to the port from the
>prompt window that opened when I launched Chainsaw. I selected the 'Socket
>receiver' option on port '4445'.
>The log4j host is currently running on the same physical machine as well.
>
>Here is a copy of the entire lo4j.xml.
>
><?xml version="1.0" encoding="UTF-8" ?>
><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
>
><!--
> Specifies the Configuration of the Log4j subsystem
>-->
><log4j:configuration>
>
> <appender name="TRACE"
>class="com.siemens.med.hs.logging.HSDailyRollingFileAppender">
> <param name="File" value="c:/soariantrace.log" /><!-- will
>generate c:/<MACHINE>/soariantrace.log -->
> <param name="DateFormat" value="yyyyMMdd" />
> <param name="HeaderDateFormat" value="yyyy-MM-dd HH:mm:ss"
>/>
> <param name="Header" value="CLINICALS LOG FILE\n" />
> <param name="MaxFileSizeBeforeRoll" value="1000000" />
> <!-- specify the layout -->
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern"
>value="%c{2}\t%p\t%m%X{SiemensHSLogContext}%n" />
> <!-- <param name="ConversionPattern"
>value="%d{yyyy-MM-dd HH:mm:ss}\t%c{2}\t%p\t%x\t%m%n" /> -->
> </layout>
> <filter
>class="com.siemens.med.hs.logging.LogContextPrintFilter">
> <param name="MinLevelToMatch" value="ERROR"/>
>
> </filter>
>
> </appender>
> <!-- Chainsaw Client -->
> <appender name= "CHAINSAW_CLIENT" class=
>"org.apache.log4j.net.SocketAppender" >
> <param name= "RemoteHost" value= "localhost"/>
> <param name= "Port" value= "4445" />
> </appender >
>
> <!-- Standard Rolling FileAppender -->
> <appender name="DOMAINLOGGER_ERROR"
>class="com.siemens.med.hs.logging.HSDailyRollingFileAppender">
> <param name="File" value="c:/soariandomainlogger_error.log"
>/>
> <param name="DateFormat" value="yyyyMMdd" />
> <param name="HeaderDateFormat" value="yyyy-MM-dd HH:mm:ss"
>/>
> <param name="Header" value="CLINICALS LOG FILE\n" />
> <param name="MaxFileSizeBeforeRoll" value="1000000" />
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern"
>value="%c{2}\t%p\t%m%X{SiemensHSLogContext}%n" />
> </layout>
> <filter
>class="com.siemens.med.hs.logging.LogContextPrintFilter">
> <param name="MinLevelToMatch" value="ERROR"/>
>
> </filter>
> </appender>
>
> <!-- Domain logger appender -->
> <appender name="DOMAINLOGGER1"
>class="com.siemens.med.hs.logging.HSDailyRollingFileAppender">
> <param name="File" value="c:/domainlogger1.log" />
> <param name="DateFormat" value="yyyyMMdd" />
> <param name="HeaderDateFormat" value="yyyy-MM-dd HH:mm:ss"
>/>
> <param name="Header" value="CLINICALS LOG FILE\n" />
> <param name="MaxFileSizeBeforeRoll" value="1000000" />
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern"
>value="%c{2}\t%p\t%m%X{SiemensHSLogContext}%n" />
> </layout>
>
> <filter
>class="com.siemens.med.hs.logging.LogContextPrintFilter">
> <param name="MinLevelToMatch" value="ERROR"/>
> </filter>
> </appender>
>
>
> <!-- Domain logger appender -->
> <appender name="DOMAINLOGGER2"
>class="com.siemens.med.hs.logging.HSDailyRollingFileAppender">
> <param name="File" value="c:/domainlogger2.log" />
> <param name="DateFormat" value="yyyyMMdd" />
> <param name="HeaderDateFormat" value="yyyy-MM-dd HH:mm:ss"
>/>
> <param name="Header" value="CLINICALS LOG FILE\n" />
> <param name="MaxFileSizeBeforeRoll" value="1000000" />
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern"
>value="%c{2}\t%p\t%m%X{SiemensHSLogContext}%n" />
> </layout>
>
> <filter
>class="com.siemens.med.hs.logging.LogContextPrintFilter">
> <param name="MinLevelToMatch" value="ERROR"/>
> </filter>
> </appender>
>
> <!-- Domain logger appender -->
> <appender name="DOMAINLOGGER3"
>class="com.siemens.med.hs.logging.HSDailyRollingFileAppender">
> <param name="File" value="c:/domainlogger_user_fred.log" />
> <param name="DateFormat" value="yyyyMMdd" />
> <param name="HeaderDateFormat" value="yyyy-MM-dd HH:mm:ss"
>/>
> <param name="Header" value="CLINICALS LOG FILE\n" />
> <param name="MaxFileSizeBeforeRoll" value="1000000" />
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern"
>value="%c{2}\t%p\t%m%X{SiemensHSLogContext}%n" />
> </layout>
>
> <filter
>class="com.siemens.med.hs.logging.LogContextPrintFilter">
> <param name="MinLevelToMatch" value="ERROR"/>
> </filter>
> </appender>
>
>
> <!-- Console Appender -->
> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern"
>value="%c{2}\t%p\t%m%X{SiemensHSLogContext}%n" />
> </layout>
> <filter
>class="com.siemens.med.hs.logging.LogContextPrintFilter">
> <param name="MinLevelToMatch" value="ERROR"/>
> </filter>
> </appender>
>
> <!-- Example of a logger for a specific class that overrides the
>root logger -->
> <logger
>name="com.siemens.med.hs.soarian.clinicals.alg.dal.JDBCProxy1">
> <level class="com.siemens.med.hs.logging.LogLevel"
>value="DEBUG_4" />
> </logger>
>
>
> <!-- The default domainLogger. All domain loggers should be a sub
>logger of this. -->
> <logger name="DomainLogger" additivity="false">
> <level class="com.siemens.med.hs.logging.LogLevel"
>value="DEBUG_4" />
> <appender-ref ref="DOMAINLOGGER_ERROR"/>
>
> </logger>
>
> <!-- A domain logger that extends the default domain logger and will log
>information for a given thread -->
> <logger name="DomainLogger.Chainsaw">
> <level class="com.siemens.med.hs.logging.LogLevel"
>value="DEBUG_0" />
> <appender-ref ref="CHAINSAW_CLIENT"/>
>
> </logger>
>
> <!-- A domain logger that extends the default domain logger and will
>log information for a given thread -->
> <logger name="DomainLogger.1" additivity="false">
> <level class="com.siemens.med.hs.logging.LogLevel"
>value="DEBUG_4" />
> <appender-ref ref="DOMAINLOGGER1"/>
>
> </logger>
>
>
> <!-- another domain logger that extends the default domain logger
>and will log information on another thread -->
> <logger name="DomainLogger.2" additivity="false">
> <level class="com.siemens.med.hs.logging.LogLevel"
>value="DEBUG_4" />
> <appender-ref ref="DOMAINLOGGER2"/>
>
> </logger>
>
>
> <!-- another domain logger that extends the default domain logger
>and will log information on another thread -->
> <logger name="DomainLogger.3" additivity="false">
> <level class="com.siemens.med.hs.logging.LogLevel"
>value="DEBUG_4" />
> <appender-ref ref="DOMAINLOGGER3"/>
>
> </logger>
>
> <!-- The root logger -->
> <root>
> <level class="com.siemens.med.hs.logging.LogLevel"
>value="DEBUG_0" />
> <appender-ref ref="CONSOLE" />
> <appender-ref ref="TRACE" />
> </root>
>
>
></log4j:configuration>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-------------------------------------------------------------------------------
This message and any included attachments are from Siemens Medical Solutions
USA, Inc. and are intended only for the addressee(s).
The information contained herein may include trade secrets or privileged or
otherwise confidential information. Unauthorized review, forwarding, printing,
copying, distributing, or using such information is strictly prohibited and may
be unlawful. If you received this message in error, or have reason to believe
you are not authorized to receive it, please promptly delete this message and
notify the sender by e-mail with a copy to [EMAIL PROTECTED]
Thank you
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]