3
respostas

salver logs impresso no console

esta classe abaixo FiltroAuditoria, imprimi que o usuario acessa, gostaria de umas dicas, pra salvar em arquivo txt

package br.com.alura.gerenciador.web;

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter;

import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;

import com.sun.corba.se.spi.orbutil.fsm.Input;

import br.com.alura.gerenciador.Usuario;

@WebFilter(urlPatterns = "*") public class FiltroAuditoria implements Filter {

@Override public void destroy() {

}

@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

HttpServletRequest req = (HttpServletRequest) request; HttpSession session = req.getSession(); Usuario usuarioLogado= (Usuario) session.getAttribute("usuarioLogado"); String usuario = "";

if (usuarioLogado != null) { usuario = usuarioLogado.getEmail(); }

System.out.println("Usuario: " + usuario + " acessando a URI " + req.getRequestURI());

chain.doFilter(request, response);

}

private String getUsuario(HttpServletRequest req) {

Usuario usuario = (Usuario) req.getSession().getAttribute("usuarioLogado");

if (usuario == null) return ""; return usuario.getEmail(); }

@Override public void init(FilterConfig arg0) throws ServletException {

}

}

3 respostas

Olá Bruno,

Nos locais onde você colocou System.out.println(), você poderia substituir por:

PrintWriter out = new PrintWriter("filename.txt");
out.println(text);

deu certo nao ...

text?

Olá Bruno,

text seria o texto que você quer salvar, no seu caso seria algo como abaixo:

PrintWriter out = new PrintWriter("filename.txt");
out.println("Usuario: " + usuario + " acessando a URI " + req.getRequestURI());