You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Tan Yoke Yew <yy...@infopro.com.my> on 2003/04/21 05:47:29 UTC
rolling file appender
hi there;
i have attached with [LogToTextFile2.java, ChkVal.java, config.properties]
i want to do RollingFileAppender, meaning if the log file exceed 2kb, it
will
change it to ***.log.1
but, it seems everytime, the log size will increase to 3kb, after that
rollback
to 1kb, it didnt generate the backup file.
may i know where is my error in the code below? thanks in advance.
------LogToTextFile2 .java ----------
/**
* @author yytan
*/
//import java.io.*;
import org.apache.log4j.*;
public class LogToTextFile2 extends PatternLayout{
//static String thisLog = "D:/installer/eclipse
IDE/eclipse-SDK-2.0.2-win32/eclipse/workspace/testProject/thisLog.txt";
//private static String thisLog = "../try1.log";
//static String thisLog = "thisLog.txt";
//static Category cat =
Category.getInstance(LogToTextFile1.class.getName());
static Logger log =
Logger.getLogger(LogToTextFile2.class.getName());
public LogToTextFile2(String pattern) {
super(pattern);
}
public static void main(String[] args) throws Exception {
String thisLog = "thisLog.log";
String config = "config.properties";
int val1 = 10;
int finalval = 0;
Layout layout = new LogToTextFile2("%d{dd-MMM-yyyy,
hh:mm:ss,sss} %M [%t] (%F:%L) - %m%n");
//Category cat =
Category.getInstance(LogToTextFile1.class.getName());
log.addAppender(new FileAppender(layout, thisLog));
//Allows the configuration of log4j from an external file.
PropertyConfigurator.configure(config);
log.debug("Enter log ...");
finalval = calc(val1);
System.out.println("finalval = " + finalval);
log.info("finalval = " + finalval);
ChkVal cv = new ChkVal();
cv.prVal(finalval);
log.info("Exit log.");
}
private static int calc (int a) {
int geta = 0;
int ans = 0;
log.info("get a = " + a);
geta = a;
ans = 2 * geta;
return (ans);
}
}
------- ChkVal.java-------
/**
* @author yytan
*/
import org.apache.log4j.*;
public class ChkVal extends PatternLayout{
/**
* Constructor ChkVal.
* @param string
*/
public ChkVal(String string) {
}
/**
* Constructor ChkVal.
*/
public ChkVal() {
}
//static Category cat =
Category.getInstance(ChkVal.class.getName());
static Logger log = Logger.getLogger(ChkVal.class.getName());
public void prVal(int a) throws Exception {
String thisLog = "thisLog.log";
Layout layout = new ChkVal("%d{dd-MMM-yyyy, hh:mm:ss,sss} %M
[%t] (%F:%L) - %m%n");
log.addAppender(new FileAppender(layout, thisLog));
if (a > 50)
log.info("ur value is larger than 50");
else
log.info("try enter larger value");
}
}
--------config.properties -------
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=D:/installer/eclipse
IDE/eclipse-SDK-2.0.2-win32/eclipse/workspace/testProject/thisLog.log
log4j.appender.R.Append=true
log4j.appender.R.maxFileSize=2KB
# Keep one backup file
log4j.appender.R.maxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Regards;
yoke yew
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-user-help@jakarta.apache.org