Bom dia Pessoal,
tenho o seguinte arquivo de properties
log4j.threshold=ALL
log4j.rootLogger=ALL, stdout, DebugAppender, InfoAppender, WarnAppender,
ErrorAppender
// CONSOLE
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
<!-log4j.appender.stdout.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m%n->
// ARQUIVO DE LOG PARA INFO
log4j.category.LogPortal=INFO
log4j.appender.InfoAppender=org.apache.log4j.RollingFileAppender
log4j.appender.InfoAppender.File=C:\\logs\\LogPortal.log
log4j.appender.InfoAppender.MaxFileSizeP0KB
log4j.appender.InfoAppender.MaxBackupIndex
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m
%n
log4j.appender.InfoAppender.Threshold=INFO
// ARQUIVO DE LOG PARA WARN
log4j.appender.WarnAppender=org.apache.log4j.RollingFileAppender
log4j.appender.WarnAppender.File=C:\\logs\\LogPortal-warn.log
log4j.appender.WarnAppender.MaxFileSizeP0KB
log4j.appender.WarnAppender.MaxBackupIndex
log4j.appender.WarnAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.WarnAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m
%n
log4j.appender.WarnAppender.Threshold=WARN
log4j.category.org.hibernate.SQL=DEBUG
Com ele consigo gerar alguns logs de execução, porem nele não grava o retorno do console no arquivo, seria possivel fazer isso ?
Estou usando ele da seguinte maneira em uma classe
package com.br.dao;
import java.util.List;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
//import javax.persistence.EntityManagerFactory;
//import javax.persistence.Persistence;
import javax.persistence.Query;
import com.br.model.Base_Apuracao;
public class Base_ApuracaoDao {
private Logger logger = Logger.getLogger("br.com.log");
private StringBuilder vSQL = new StringBuilder();
/* Metodo de Criação do Entity Manager */
private EntityManager getEntityManager(){
/*
EntityManagerFactory factory;
EntityManager entityManager = null;
factory = Persistence.createEntityManagerFactory("Portal");
if (factory.isOpen()) {
factory.close();
entityManager = factory.createEntityManager();
}else{
entityManager = factory.createEntityManager();
}
return entityManager;*/
ManagerEntityManager manager = new ManagerEntityManager();
return manager.getEntityManager();
}
/* Metodo de adição de Dados ao Banco de Dados */
private Base_Apuracao gravar(Base_Apuracao base){
EntityManager entityManager = getEntityManager();
try{
entityManager.getTransaction().begin();
logger.info("Incluindo Base");
if (base.getDSC_BASE() != null){
base = entityManager.merge(base);
}else{
entityManager.persist(base);
}
entityManager.getTransaction().commit();
}finally{
entityManager.close();
}
return base;
}
/* Metodo de altera��o de Dados ao Banco de Dados */
private Base_Apuracao atualizar(Base_Apuracao base){
EntityManager entityManager = getEntityManager();
try{
entityManager.getTransaction().begin();
logger.info("Atualizando Base");
if(base.getDSC_BASE() != null){
base = entityManager.merge(base);
}else{
entityManager.merge(base);
}
entityManager.getTransaction().commit();
}finally{
entityManager.close();
}
return base;
}
/* Metodo de Remoção de Dados ao Banco de Dados */
private void remover(Base_Apuracao base){
EntityManager entityManager = getEntityManager();
try{
entityManager.getTransaction().begin();
logger.info("Removendo Basede Apuração codigo : " + base.getCOD_BASE());
Object objRemove = entityManager.merge(base);
entityManager.remove(objRemove);
entityManager.getTransaction().commit();
} finally{
entityManager.close();
}
}
/* Metodo de consulta no banco de dados */
private List<Base_Apuracao> consultar(List<String> pColunas, List<String> pValores){
EntityManager entityManager = getEntityManager();
vSQL.append("from Base_Apuracao as base_apuracao");
if (pColunas != null){
vSQL.append(" WHERE ");
for (int i = 0; i < pColunas.size(); i++){
if (i==0){
vSQL.append(" " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'");
}else{
vSQL.append(" AND " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'");
}
}
}
vSQL.append(" ORDER BY DSC_BASE");
logger.info("Consulta executada : " + vSQL);
Query vQuery = entityManager.createQuery(vSQL.toString());
@SuppressWarnings("unchecked")
List<Base_Apuracao> listaBase = vQuery.getResultList();
entityManager.close();
return listaBase;
}
/* Metodo de consulta no banco de dados */
private List<Base_Apuracao> consultar(List<String> pColunas, List<String> pValores, String pOrder){
EntityManager entityManager = getEntityManager();
vSQL.append("from Base_Apuracao as base_apuracao");
if (pColunas != null){
vSQL.append(" WHERE ");
for (int i = 0; i < pColunas.size(); i++){
if (i==0){
vSQL.append(" " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'");
}else{
vSQL.append(" AND " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'");
}
}
}
vSQL.append(" ORDER BY "+pOrder);
logger.info("Consulta executada : " + vSQL);
Query vQuery = entityManager.createQuery(vSQL.toString());
@SuppressWarnings("unchecked")
List<Base_Apuracao> listaBase = vQuery.getResultList();
entityManager.close();
return listaBase;
}
public Base_Apuracao add(Base_Apuracao base){
return gravar(base);
}
public Base_Apuracao alter(Base_Apuracao base){
return atualizar(base);
}
public void delete(Base_Apuracao base){
remover(base);
}
public List<Base_Apuracao> select(List<String> pColunas, List<String> pValores){
return consultar(pColunas,pValores);
}
public List<Base_Apuracao> select(List<String> pColunas, List<String> pValores, String pOrder){
return consultar(pColunas,pValores,pOrder);
}
}
Alguem saberia se é possivel adicionar o retorno do console ao arquivo de log ?