Gelera,
queria determinar o tamanho do aquivo de log via codigo, sei que tem jeito via log4j.properies. So que a minha aplicação ja esta toda usando o seguinte codigo abaixo:
public class TelemetriaLogger {
private static String path = Constantes.DIRETORIO_DO_LOG;
public static Logger logger = null;
private static String currentLogPrefix;
public static void configuraLog4j() {
String logPrefix = new SimpleDateFormat("dd_MM_yyyy").format(new Date());
if (logger != null && currentLogPrefix != null && logPrefix.equals(currentLogPrefix)) {
return;
}
currentLogPrefix = logPrefix;
logger = Logger.getRootLogger();
try {
PatternLayout layout = new PatternLayout(
"%d{dd/MM/yyyy HH:mm:ss,SSS} " + PatternLayout.TTCC_CONVERSION_PATTERN);
Appender fileAppender = new FileAppender(layout,
path + "sgmv_web_" + logPrefix + ".log");
logger.removeAllAppenders();
logger.addAppender(fileAppender);
logger.setLevel(Level.DEBUG);
BasicConfigurator.configure();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void logDebug(String message, Throwable throwable) {
configuraLog4j();
if (throwable == null) {
logger.debug(message);
} else {
logger.debug(message.concat(getStackTrace(throwable)));
}
}
public static void logError(String message, Throwable throwable) {
configuraLog4j();
if (throwable == null) {
logger.error(message);
} else {
logger.error(message.concat(getStackTrace(throwable)));
}
}
public static void logInfo(String message, Throwable throwable) {
configuraLog4j();
if (throwable == null) {
logger.info(message);
} else {
logger.info(message.concat(getStackTrace(throwable)));
}
}
public static void logWarning(String message, Throwable throwable) {
configuraLog4j();
if (throwable == null) {
logger.warn(message);
} else {
logger.warn(message.concat(getStackTrace(throwable)));
}
}
private static String getStackTrace(Throwable t) {
StringWriter stringWritter = new StringWriter();
PrintWriter printWritter = new PrintWriter(stringWritter, true);
t.printStackTrace(printWritter);
printWritter.flush();
stringWritter.flush();
return stringWritter.toString();
}
}
Queria colocar um limite de tamanho no meu log usando o codigo acima.
Como que eu faço isso galera?
Att