Hello,

Thanks for responding so quickly.  Though it's not included in the copy of
my log4j.properties file I pasted into the beginning of this email thread, I
did set the port with this line:

log4j.appender.telnet.port=23

It made no difference.  Actually, the problem appears to be that, when
Tomcat reloads the web application after I run a build, TelnetAppender
throws a BindException, with the message that the "Address [is] already in
use".  Perhaps TelnetAppender is failing to dispose of its socket connection
properly.  If I shutdown and restart Tomcat, TelnetAppender works fine until
the next time I reload the webapp, even without explicitly setting the port.

If you like, I'll log a bug for this.

Cheers,
David

P.S.  Here's the stacktrace

java.net.BindException: Address already in use: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:331)
        at java.net.ServerSocket.bind(ServerSocket.java:318)
        at java.net.ServerSocket.<init>(ServerSocket.java:185)
        at java.net.ServerSocket.<init>(ServerSocket.java:97)
        at
org.apache.log4j.net.TelnetAppender$SocketHandler.<init>(TelnetAppender.java
:172)
        at
org.apache.log4j.net.TelnetAppender.activateOptions(TelnetAppender.java:62)
        at
org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247)
        at
org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:123
)
        at
org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:87)
        at
org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.jav
a:645)
        at
org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.jav
a:603)
        at
org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigur
ator.java:524)
        at
org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:
408)
        at
org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:
432)
        at
org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.
java:460)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
        at org.apache.log4j.Logger.getLogger(Logger.java:85)
        at
com.wellsfargo.marketsmart.util.AuditFilter.<clinit>(AuditFilter.java:21)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:39)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        at java.lang.Class.newInstance0(Class.java:308)
        at java.lang.Class.newInstance(Class.java:261)
        at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter
Config.java:253)
        at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil
terConfig.java:327)
        at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterCon
fig.java:120)
        at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:31
60)
        at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:2541)
        at
org.apache.catalina.loader.WebappLoader$WebappContextNotifier.run(WebappLoad
er.java:1369)
        at java.lang.Thread.run(Thread.java:534)



-----Original Message-----
From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 25, 2003 9:53 AM
To: Log4J Developers List
Subject: RE: TelnetAppender generates NullPointerException



Howdy,
Did you do as the bug report suggests and set the port explicitly even
though the docs say that's not required?

Yoav Shapira
Millennium ChemInformatics


>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED]
>Sent: Tuesday, November 25, 2003 12:44 PM
>To: [EMAIL PROTECTED]
>Subject: FW: TelnetAppender generates NullPointerException
>
>Sorry for emailing the dev list directly, but I could use some help
with
>the
>TelnetAppender.  It throws a NullPointer exception when I try to use
it,
>and
>as far as I can tell I'm not doing anything unusual with it.
>
>This is for Log4J v. 1.2.8, running in Tomcat 4.1.
>
>It could be this bug....not sure:
>http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15198
>
>Regards,
>David
>
>-----Original Message-----
>From: Adrian Janssen [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, November 25, 2003 2:03 AM
>To: 'Log4J Users List'; [EMAIL PROTECTED]
>Subject: RE: TelnetAppender generates NullPointerException
>
>
>Oh, I see in the javadocs that it only needs a port and that is
defaulted
>to
>23 anyway.
>
>No help then.
>
>-----Original Message-----
>From: Adrian Janssen [mailto:[EMAIL PROTECTED]
>Sent: 25 November 2003 09:59
>To: 'Log4J Users List'
>Subject: RE: TelnetAppender generates NullPointerException
>
>
>I know NOTHING about the telnet appender, but it immediately stikes me
that
>it will need some more configuration information, such as maybe host
and
>port number?
>
>Cheers
>Adrian
>
>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED]
>Sent: 24 November 2003 17:59
>To: [EMAIL PROTECTED]
>Subject: TelnetAppender generates NullPointerException
>
>
>Hello,
>
>I get a NullPointerException when using Log4J's TelnetAppender, and
would
>be
>grateful for any clues on how to get it to work properly.  I searched
this
>mailing list archive and searched Google for references to the
>TelnetAppender, but came up empty.  Here's my log4j.properties file:
>
># Set root logger level to FATAL
>log4j.rootLogger=FATAL
>
># Set servlet logger to DEBUG and attach to A1 and telnet
>log4j.logger.com.wellsfargo.marketsmart.servlet=DEBUG, A1, telnet
>
># A1 is set to be a ConsoleAppender.
>log4j.appender.A1=org.apache.log4j.ConsoleAppender
>
># telnet is set to be a TelnetAppender
>log4j.appender.telnet=org.apache.log4j.net.TelnetAppender
>
># A1 uses PatternLayout.
>log4j.appender.A1.layout=org.apache.log4j.PatternLayout
>log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
>
># telnet uses PatternLayout.
>log4j.appender.telnet.layout=org.apache.log4j.PatternLayout
>log4j.appender.telnet.layout.ConversionPattern=%-4r [%t] %-5p %c %x -
%m%n
>
>
>I have the log4j jar file in the WEB-INF/lib directory of my web
>application, the log4j.properties file in the WEB-INF/classes
directory,
>and
>am logging from a servlet in the webapp, running in Tomcat4.1.  I'll
paste
>in the error message I get at the end of this message.  Again, I'm
grateful
>for any assistance.
>
>Cheers,
>David A. Ventimiglia
>DSSG
>Wells Fargo Bank
>415-222-6707
>[EMAIL PROTECTED]
>
>76119 [http9080-Processor2] DEBUG com.wellsfargo.marketsmart.servlet  -
>#Input Parameters
>#Mon Nov 24 09:49:34 PST 2003
>newSession=true
>outlet=WF00001
>
>java.lang.NullPointerException
>       at
>org.apache.log4j.net.TelnetAppender.append(TelnetAppender.java:89)
>       at
>org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
>       at
>org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(A
ppen
>d
>erAttachableImpl.java:57)
>       at org.apache.log4j.Category.callAppenders(Category.java:187)
>       at org.apache.log4j.Category.forcedLog(Category.java:372)
>       at org.apache.log4j.Category.debug(Category.java:241)
>       at
>com.wellsfargo.marketsmart.servlet.MapServlet.service(MapServlet.java:3
06)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at
>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
atio
>n
>FilterChain.java:247)
>       at
>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
terC
>h
>ain.java:193)
>       at
>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
ve.j
>a
>va:256)
>       at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:643)
>       at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
>       at
>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
>org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
ve.j
>a
>va:191)
>       at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:643)
>       at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
>       at
>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
>org.apache.catalina.core.StandardContext.invoke(StandardContext.java:24
17)
>       at
>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
a:18
>0
>)
>       at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:643)
>       at
>org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherV
alve
>.
>java:171)
>       at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:641)
>       at
>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
a:17
>2
>)
>       at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:641)
>       at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
>       at
>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
.jav
>a
>:174)
>       at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:643)
>       at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
>       at
>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
>org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
>       at
>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:7
81)
>       at
>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
Conn
>e
>ction(Http11Protocol.java:549)
>       at
>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:5
89)
>       at
>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo
l.ja
>v
>a:666)
>       at java.lang.Thread.run(Thread.java:534)
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential, proprietary
and/or privileged.  This e-mail is intended only for the individual(s) to
whom it is addressed, and may not be saved, copied, printed, disclosed or
used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the
sender.  Thank you.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to