I try to log in categories, but I have no idea how to configure my log4j.properties.
What do I want exactly:
- Daily Logfile for Categories {SECURITY, DATABASE, MAIL}
- Logfile has name of its category
- Log entries with the class that called the logger (ex. below)
Here is what I have:
public class CategoryLogger {
private static Logger securityLogger = Logger.getLogger("SECURITY");
private static Logger databaseLogger = Logger.getLogger("DATABASE");
private static Logger mailLogger = Logger.getLogger("MAIL");
public void securitylog(LogLevel level, String message) {
this.log(securityLogger, level, message);
}
public void databaselog(LogLevel level, String message) {
this.log(databaseLogger, level, message);
}
public void maillog(LogLevel level, String message) {
this.log(mailLogger, level, message);
}
private void log(Logger logger, LogLevel level, String message) {
switch (level) {
case TRACE:
logger.trace(message);
break;
case DEBUG:
logger.debug(message);
break;
case INFO:
logger.info(message);
break;
case WARN:
logger.warn(message);
break;
case ERROR:
logger.error(message);
break;
case FATAL:
logger.fatal(message);
break;
default:
break;
}
}
}
The logs should look like this:
database-2018-09-28.log
DATABASE | 2018-09-28 20:02:19 | INFO | DAO:22 | This is a info.
DATABASE | 2018-09-28 20:02:19 | WARN | DAO:23 | This is a warn.
DATABASE | 2018-09-28 20:02:19 | ERROR | DAO:24 | This is a error.
DATABASE | 2018-09-28 20:02:19 | FATAL | DAO:25 | This is a fatal.
security-2018-09-28.log
SECURITY | 2018-09-28 20:02:19 | INFO | SimpleAccess:33 | This is a info.
SECURITY | 2018-09-28 20:02:19 | WARN | SimpleAccess:34 | This is a warn.
SECURITY | 2018-09-28 20:02:19 | ERROR | SimpleAccess:35 | This is a error.
SECURITY | 2018-09-28 20:02:19 | FATAL | SimpleAccess:36 | This is a fatal.
mail-2018-09-28.log
MAIL | 2018-09-28 20:02:19 | INFO | MailSender:44 | This is a info.
MAIL | 2018-09-28 20:02:19 | WARN | MailSender:45 | This is a warn.
MAIL | 2018-09-28 20:02:19 | ERROR | MailSender:46 | This is a error.
MAIL | 2018-09-28 20:02:19 | FATAL | MailSender:47 | This is a fatal.
Thanks a lot in advance for any help!
Kind Regards,
L.