[prev in list] [next in list] [prev in thread] [next in thread]
List: log4j-user
Subject: Erased/deleted logfile
From: "PR-Guest3, Basel {~Basel}" <BASEL.PR-GUEST3 () Roche ! COM>
Date: 2002-10-29 15:05:39
[Download RAW message or body]
Hi all, I already posted earlier about this ...
I am trying to create an Appender which would recreate a file if it has been deleted \
by some crazy root user. I extended the FileAppender and overrode its subAppend() \
method to accomplish this, but I am always getting java.lang.NullPointerException
at java.io.File.<init>(File.java:180)
at com.roche.research.irci.score.log.FileAppenderCreator.subAppend(FileAppenderCreator.java:22)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:150)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.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)
Below lies my poor code:
public class FileAppenderCreator extends FileAppender{
public FileAppenderCreator(){
}
protected void subAppend(LoggingEvent event) {
try {
File file = new File(this.getFile());
if(file.createNewFile()) {
LogLog.debug("New File created");
FileWriter fw = new FileWriter(file);
setWriter(fw);
}
} catch (IOException ex) {
LogLog.error("Error trying to create a log file in FileAppenderCreater.", \
ex); }
this.qw.write(this.layout.format(event));
if(layout.ignoresThrowable()) {
String[] s = event.getThrowableStrRep();
if (s != null) {
int len = s.length;
for(int i = 0; i < len; i++) {
this.qw.write(s[i]);
this.qw.write(Layout.LINE_SEP);
}
}
}
if(this.immediateFlush) {
this.qw.flush();
}
}
}
Can someone help ?
--
To unsubscribe, e-mail: <mailto:log4j-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:log4j-user-help@jakarta.apache.org>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic