Tengo una aplicación web y quiero utilizar un registro diferente para cada usuario, por lo que puedo tener un "historial" de lo que el usuario hizo en el sistema.Un registro diferente para cada usuario que usa Log4j
Esto es lo que tengo hasta ahora:
import java.io.File;
import java.io.IOException;
import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.FileAppender;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.Logger;
public class LogManager {
public Logger getLog(String username) throws IOException{
SimpleLayout layout = new SimpleLayout();
FileAppender appender = new DailyRollingFileAppender(layout, "users"+File.pathSeparator+username+File.pathSeparator+username, "'.'yyyy-MM");
// configure the appender here, with file location, etc
appender.activateOptions();
Logger logger = Logger.getRootLogger();
logger.addAppender(appender);
return logger;
}
}
El problema es que, como una aplicación web, es multiproceso, por lo que yo sepa que no puedo usar RootLogger
todo el tiempo y cambiar los appenders dependiendo del usuario a quién estoy registrando Creo que debería crear diferentes Logger
para cada usuario, pero ¿es eso correcto?
¿cuántos usuarios podría tener? – dogbane
entre 1,000 y 10,000 – pakore
¿Sabía que lo más probable es que no se le permita abrir 10.000 archivos simultáneamente en su módulo de registro del servidor web? –