Copie o código do código da seguinte forma:
importar org.apache.log4j.ConsoleAppender;
importar org.apache.log4j.FileAppender;
importar org.apache.log4j.Level;
importar org.apache.log4j.Logger;
importar org.apache.log4j.PatternLayout;
classe pública LoggerUtils{
/**
* Criar instância do Logger
*
* @paramclazz classe de ocorrência do log de eventos
* @paramifConsole se deseja enviar para o console
* @paramifFile se deseja enviar para um arquivo
* @paramlogFile endereço do arquivo de log (use "/" para separar o caminho)
* @paramifLocate se deseja localizar o local do log de eventos (linha do método class.)
* @returnLogger
*/
public static Logger getLogger(Class<?> clazz, boolean ifConsole, boolean ifFile, String logFile, boolean ifLocate) {
if(ifConsole == false && ifFile == false) return null;
if(ifFile == true && logFile.trim().length() < 1) return null;
Conversão de stringPattern;
if(ifLocate == verdadeiro) {
// O formato do conteúdo do log é o seguinte: 2014-03-11 01:34:45.572 [DEBUG] com.aliyun.qa.utils.LoggerUtilsTest.main(Line:15): Test DEBUG log
ConversionPattern = "%d{aaaa-MM-dd HH:mm:ss.SSS} [%-5p] %c.%M(Linha:%L): %m %n";
} outro {
//O formato do conteúdo do log é o seguinte: 2014-03-11 01:34:45.572 [DEBUG]: Test DEBUG log
ConversionPattern = "%d{aaaa-MM-dd HH:mm:ss.SSS} [%-5p]: %m %n";
}
Layout PatternLayout = new PatternLayout();
layout.setConversionPattern(conversionPattern);
Registrador registrador = Logger.getLogger(clazz);
logger.removeAllAppenders();
logger.setLevel(Level.DEBUG);
logger.setAdditivity(false);//Logger não será gerado no anexador do Logger pai, o padrão é true
if(ifConsole == true) {// Registra a saída no console
ConsoleAppender consoleAppender = new ConsoleAppender();
consoleAppender.setLayout(layout);
consoleAppender.setThreshold(Level.INFO);//nível de log ConsoleAppender é DEBUG
consoleAppender.activateOptions();
logger.addAppender(consoleAppender);
}
if(ifFile == true) {//Registra a saída no arquivo
FileAppender fileAppender = new FileAppender();
arquivoAppender.setLayout(layout);
arquivoAppender.setFile(logFile);
fileAppender.setEncoding("UTF-8");
arquivoAppender.setAppend(true);
fileAppender.setThreshold(Level.INFO); //O nível de log do FileAppender é INFO
fileAppender.activateOptions();
logger.addAppender(fileAppender);
}
registrador de retorno;
}
/**
* Crie uma instância do Logger (apenas saída para o console)
*
* @paramclazz classe de ocorrência do log de eventos
* @paramifLocate se deseja localizar o local do log de eventos (linha do método class.)
* @returnLogger
*/
public static Logger getLogger(Class<?> clazz, boolean ifLocate) {
return getLogger(clazz, verdadeiro, falso, nulo, ifLocate);
}
/**
* Criar instância do Logger (apenas saída para arquivo)
*
* @paramclazz classe de ocorrência do log de eventos
* @paramlogFile endereço do arquivo de log (use "/" para separar o caminho)
* @paramifLocate se deseja localizar o local do log de eventos (linha do método class.)
* @returnLogger
*/
public static Logger getLogger(Class<?> clazz, String logFile, boolean ifLocate) {
return getLogger(clazz, false, true, logFile, ifLocate);
}
}