का उपयोग कर प्रत्येक उपयोगकर्ता के लिए एक अलग लॉग है मेरे पास एक वेबप्लिकेशंस है और मैं प्रत्येक उपयोगकर्ता के लिए एक अलग लॉग का उपयोग करना चाहता हूं, इसलिए मेरे पास सिस्टम पर उपयोगकर्ता ने क्या किया "इतिहास" हो सकता है।Log4j
यह वही है मैं अब तक है:
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;
}
}
समस्या यह है कि, एक WebApplication के रूप में, थ्रेड है, इसलिए AFAIK मैं RootLogger
हर समय उपयोग नहीं कर सकते और उपयोगकर्ता के आधार पर appenders बदल रहा है मैं लॉगिंग कर रहा हूँ मुझे लगता है कि मुझे प्रत्येक उपयोगकर्ता के लिए अलग-अलग Logger
बनाना चाहिए, लेकिन क्या यह सही है?
आपके पास कितने उपयोगकर्ता हो सकते हैं? – dogbane
1.000 और 10.000 – pakore
के बीच आप जानते हैं कि आपको अपने वेब सर्वर लॉग मॉड्यूल में एक साथ 10.000 फ़ाइलों को खोलने की अनुमति नहीं दी जाएगी? –