You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by bu...@apache.org on 2002/12/09 14:38:12 UTC
DO NOT REPLY [Bug 15177] New: -
configureAndWatch fails with ExternallyRolledFileAppender
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: log4j-dev@jakarta.apache.org
ReportedBy: r.daykin@pindar.com
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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>