Como criar log para usuario que acessam o sistema

Boa tarde pessoal,
tenho um sistema web que utilizo JSF com richfaces e Hibernate,
estou precisando criar um log dos usuários que acessam o sistema, com o nome dia e horário que foram acessados, pode ser um txt mesmo ou qualquer outra coisa parecida
Estava pensando em usar a classe java.io.File do java, porém acho q deve existir alguma coisa mais sofisticada,
alguém conhece algo que se adeque melhor a este tipo de problema?

Você tbm poderia usar um XML e pra manipular ele o Xstream.
Ai quando quando o usuario fizer o login na sua aplicação vc so adiciona ele em uma lista e joga essa lista pra um XML…

Xstream é bemmm facil de usar

você pode usar a API de Logging do Java (java.util.logging.Logger).

um exemplo:

[code]package br.com.empresa.software;

import java.io.IOException;
import java.util.logging.*;

public class Clazz {
public static void main(String[] args) {
Logger l = Logger.getLogger(Clazz.class.toString());

    try {
        FileHandler fh = new FileHandler("./software.log", true);
        fh.setFormatter(new SimpleFormatter());
        l.addHandler(fh);
        l.log(Level.SEVERE, "MENSAGEM");
    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}[/code]

Nunca mexi com este tal de xstream, tem algo mais simples não, que seja nativo do java?

Log de usuário, não log de sistema certo?

aconcelho você criar uma tabela no seu banco de dados, pelo menos é assim que costumo fazer.

uma tabela como por exemplo, contendo as colunas IDLOG, NMUSUARIO, NMACAOUSUARIO, DTACAO

ai onde vc quiser vc insere nessa tabela, a acao do usuario.

pense direitinho onde vc vai usar, e ond um dia talvez possa ser que vc use. p/ não penar muito na manutenção.

q eh o q esta acontecendo comigo nesse exato momento.

Sim, é somente um log de usúario.

Não tinha pensado em adicionar a ação do usúario a este log, somente a data e hora que ele entrou no sistema mesmo.

No meu caso, meu sistema possui apenas CRUDs, porém uma lista gigante deles, cerca de 40 tabelas, mas no final, as únicas ações que o usúario faz mesmo, são as 4 basicas do CRUD, por isso acho q no atual momento não preciso que o log tenha as ações do usuario.

Exemplifique melhor o que está acontecendo com vc agora, como os programadores anteriores a vc fizeram o log de usúario?

Pergunto, pois talvez tenha algo que eu ainda possa me antecipar ao futuro com sua experiência.

a

Nossa, realmente é muito mal feito mesmo, eles preferem adicionar complexidade a regra de negocio do que simplesmente criar 2 colunas no banco de dados, não possuem a minima noção de banco de dados
realmente deve ter sido bem trabalhoso desfazer essa porcariada, espero nunca ter q pegar um sistema assim para dar manutenção,

a princípio vou criar somente a coluna com datetime e nome do usuario(estou fazendo por conta propria, nem foi pedido para que eu fizesse tal requisito, to querendo deixar o sistema um pouco mais completo)

obrigado por compartilhar sua experiência

realmente!

boa sorte.