Extensões de log no log4j

Olá.

O log4j por padrão cria os logs assim (log.1, log.2, …)
Consigo mudar para adicionar o “.log”, porém fica assim (log.log.1, log.log.2, …)
Preciso que fique assim (log.1.log, log.2.log, …) com o “.log” no final do nome.

Alguem consegue me ajudar?

http://www.guj.com.br/articles/130
espero q ajude.

nunca tive esse tipo de problema.

vc configurou o log4j por xml ou classe msm? posta ai.

att,

Minha classe está abaixo. Meus logs estão ficando assim: meulog.log, meulog-1.log, meulog-2.log…
Porém agora eu estou perdendo a configuração da propriedade MaxBackupIndex. Se configuro para manter apenas um log em backup, ele ignora…

[code]public class MyRollingFileAppender extends RollingFileAppender {

private String finalFileName;

private int sequencia = 1;

public MyRollingFileAppender(Layout layoutDef, String string) throws IOException {
    super(layoutDef, string);
}

@Override
public void rollOver() {
    if (qw != null) {
        LogLog.debug("rolling over count=" + ((CountingQuietWriter) qw).getCount());
    }

    fileName = getCompleteFileName();

    try {
        // This will also close the file. This is OK since multiple
        // close operations are safe.
        this.setFile(fileName, false, bufferedIO, bufferSize);
    } catch (IOException e) {
        LogLog.error("setFile(" + fileName + ", false) call failed.", e);
    }
}

@Override
public synchronized void setFile(String fName, boolean append, boolean ioBuffered, int sizeBuffer) throws IOException {
    String newFileName = fName;
    if (finalFileName == null) {
        finalFileName = fName;
        newFileName = getCompleteFileName();
    }
    super.setFile(newFileName, append, ioBuffered, sizeBuffer);
    if (append) {
        File f = new File(newFileName);
        ((CountingQuietWriter) qw).setCount(f.length());
    }
}

private String getCompleteFileName() {
    StringBuffer buffer = new StringBuffer(finalFileName);
    String compFileName = buffer.toString() + ".log";
    // Delete the oldest file, to keep Windows happy.
    File file = new File(compFileName);
    if (file.exists()) {// se existir irá criar um valor sequencial
        buffer.append('-');
        buffer.append(sequencia >= 10 ? Integer.valueOf(sequencia).toString() : "0" + sequencia);
        buffer.append(".log");
        compFileName = buffer.toString();
        sequencia++;
    } else {
        sequencia = 1;
    }
    return compFileName;
}

}[/code]