I have written a silly Logger for my application. It writes into a log file info, warning and severe messages. It worked perfectly some time ago, but suddenly, it stopped working for no aparent reason. It keeps creating the log file if it does not exist, but no content is written. I can't find why it is not working now. I would thank some help.
Debugging with my IDE, I realise that messages are passed correctly to logger, and logger.info() is being executed.
public class FsLogger {
private static FsLogger instance;
private final String filename = "Logs/LogFsForensics.log";
private final String loggerName = "FsLogger";
private static Logger logger;
private FileHandler fh;
private final int limit = 1024*10000; //10 MB
private SimpleFormatter sf;
private FsLogger() {
logger = Logger.getLogger(loggerName);
sf = new SimpleFormatter();
try {
fh = new FileHandler(filename, limit, 1, true);
sf = new SimpleFormatter();
fh.setFormatter(sf);
logger.addHandler(fh);
} catch (SecurityException | IOException e) {
e.printStackTrace();
}
}
public static FsLogger getInstance() {
if(instance == null) {
instance = new FsLogger();
}
return instance;
}
public void info(String message) {
logger.info(message);
}
public void warning(String message) {
logger.warning(message);
}
public void severe(String message) {
logger.severe(message);
}
Example of a logger call:
private FsLogger logger = FsLogger.getInstance();
logger.severe(e1.getMessage());