Problemas para logar no Servidor Tomcat usando Api Logging

0 respostas
D

Saudações.

Tenho uma classe servlet denominada UsuarioChat que possui um método que gera um log num arquivo txt cujo código do método é:
public void addLog(String log) throws IOException{
			if (logs.size() == 100) {
			logs.remove(0);
		}
			logs.add(log + "
");
			String datalog = new SimpleDateFormat("dd.MM").format(new Date());
   			/*File arquivoLog = new File("C:\Tomcat\webapps\Chat\WEB-INF\logs\log" 
			                             + datalog + ".txt");*/
		
			Logger logger = Logger.getAnonymousLogger(); 
             
			FileHandler fh = new FileHandler fh = new FileHandler(getServletContext().getRealPath("//logs//meuArquivo.log");
	    	System.out.println("Passei aqui");
			fh.setFormatter(new SimpleFormatter());
			log = log.replaceAll("<br>","");
			log = log.replaceAll("</br>","");
			log = log.replaceAll("<b>","");
			log = log.replaceAll("</b>","");
			log = log.replaceAll("<script>","");
			log = log.replaceAll("</script>","");
			log = log.replaceAll("addUsuario","");
           
		    logger.addHandler(fh);
			logger.info(log);
	}
Essa classe esta dentro de Chat/classes dentro do diretorio de servlets do Tomcat. Dentro de Chat, tenho um diretório chamado logs e quero que o log seja gravado ali sem especificar o endereço físico(C:\...) e sim o endereço no servidor. Mas não acontece nada, se faço somente:
FileHandler fh = new FileHandler(getServletContext().getRealPath("/meuArquivo.log"));
ele grava no raíz do C:. Tentei com esta classe:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.logging.*;

public class teste extends HttpServlet {
	public void doGet(HttpServletRequest req,
                      HttpServletResponse res)
    throws ServletException, IOException{
        PrintWriter out = res.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title> Testando Servlet </title>");
        out.println("</head>");
        out.println("<body>");
        out.println("Bem Vindo ao Centro de Teste do Servlet");
		out.println("<br> <u> Funcionou :-)");
        out.println("</body>");
        out.println("</html>");

		Logger logger = Logger.getAnonymousLogger(); 
        FileHandler fh = new FileHandler(getServletContext( ).getRealPath("//logs//arquivo.txt"));
		fh.setFormatter(new SimpleFormatter());
		logger.addHandler(fh);
		logger.info("testando o arquivo");
    }
e funcionou corretamente.

Será que estou usando função ou api errada?

Alguém pode me orientar?

Criado 25 de maio de 2004
Respostas 0
Participantes 1