DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15177>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15177

configureAndWatch fails with ExternallyRolledFileAppender

           Summary: configureAndWatch fails with
                    ExternallyRolledFileAppender
           Product: Log4j
           Version: 1.2
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Configurator
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


using log4J 1.2.6 on Windows NT4 jdk 1.2.2.  I suspect this bug may apply 
generally, but without testing, I'll not commit to that.

When using an ExternallyRolledFileAppender, the appender opens a socket.  When 
the config file is updated, the following exception is thrown repeatedly:

java.net.BindException: Address in use: bind
        at java.net.ServerSocket.<init>(ServerSocket.java:181)
        at java.net.ServerSocket.<init>(ServerSocket.java:86)
        at org.apache.log4j.varia.HUP.run(ExternallyRolledFileAppender.java:110)

I suspect that the PropertyWatchDog class needs to call resetConfiguration 
before loading the new config, though I wouldn't swear to it.

to test use something like the following:
Log.Properties:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, CONSOLE, file

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-5p [%d{dd/MM/yyyy HH:mm:ss 
z} - %t] %n%m%n

log4j.appender.file=org.apache.log4j.varia.ExternallyRolledFileAppender
log4j.appender.file.File=FooFile.log
log4j.appender.file.port=2025
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-5p [%d{dd/MM/yyyy HH:mm:ss z} - %
t] %n%m%n
log4j.appender.file.append=true

Foo.java:
import org.apache.log4j.*;
import org.apache.log4j.varia.*;

public class Foo extends Object {
        private static Logger log;
        
        public Foo(String configFile) throws Exception {
                log = Logger.getLogger("FooLog");
                PropertyConfigurator.configureAndWatch(configFile);
                log.debug( "starting log");
        }

        /**
    */
        public static void main( String args[] ) throws Exception {
                // Incorrect number of args or is the arg is a request for 
usage help?
                if ((args.length != 1) || (args[0].compareTo("-h") == 0)) {
                        System.err.println( "Usage: java 
com.pindartech.CCCS.PrintServiceMain <CONFIGFILE>" );
                        return;
                }

                Foo foo = new Foo(args[0]);
                log.info( "Foo created, running..." );
                while (true) {
                        try {
                                Thread.sleep(5000);
                                log.info("still here");
                        } catch (Exception e) {
                        } finally {
                                LogManager.shutdown();                  
                        }
                }
        }
}

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

Reply via email to