Enumeration allAppenders = Logger.getRootLogger().getAllAppenders(); while (allAppenders.hasMoreElements()) { Object object = (Object) allAppenders.nextElement(); if (object instanceof RollingFileAppender) { RollingFileAppender appender = (RollingFileAppender) object; appender.setFile("/path/to/new/file.log"); appender.activateOptions(); break; } }
import org.apache.log4j.Logger; import org.apache.log4j.rolling.RollingFileAppender; import org.apache.log4j.rolling.TimeBasedRollingPolicy; ... private static void afunction(String pTheNewFileName) { Logger logger = Logger.getLogger("TheLoggerName"); RollingFileAppender rfappender = (RollingFileAppender) logger.getAppender("TheAppenderName"); TimeBasedRollingPolicy timeBasedRollingPolicy = (TimeBasedRollingPolicy) rfappender.getRollingPolicy(); timeBasedRollingPolicy.setFileNamePattern("newfilename%d{yyyy-MM}"); timeBasedRollingPolicy.activateOptions(); rfappender.activateOptions(); }
static { try { String logFileName = "neo4j.log"; RollingFileAppender fa = new RollingFileAppender(); fa.setName("NEO4JLOGGER"); fa.setFile(logFileName); fa.setLayout(new PatternLayout( "[%d{dd.MM.yyyy HH:mm:ss.SSS}] %5p %c{1}:%L - %m%n")); fa.setAppend(true); fa.activateOptions(); Logger.getLogger("CLASSES NEEDED TO BE LOGGED").setLevel(Level.ALL); Logger.getLogger("CLASSES NEEDED TO BE LOGGED").addAppender(fa); } catch (Exception ex) { logger.error("Intialize Logger :: Failed... \n ", ex); } }
public Logger generateLogger(String parent, String name, String logDirectory, String filePattern, String fileThreshold) { // TODO Auto-generated method stub //Create Logger String loggerName = parent + "." + name; Logger log = Logger.getLogger(loggerName); //Create Logging File Appender RollingFileAppender fileApp = new RollingFileAppender(); fileApp.setName("Broker." + loggerName + "_FileAppender"); fileApp.setFile(logDirectory +"/"+ name+".log"); fileApp.setLayout(new PatternLayout(filePattern)); fileApp.setThreshold(Level.toLevel(fileThreshold)); fileApp.setAppend(true); fileApp.activateOptions(); log.addAppender(fileApp); return log; }
private static final String LOG4J_ROLLING_FILE_NAME_TOKEN = "Launcher"; /* * Change the name of the the log file as configured through log4j.xml * by replacing the placeholder file name token ("Launcher") with the * a new "actionName". */ private static void log4jConfig(String actionName) { org.apache.log4j.Logger rootLogger = LogManager.getRootLogger(); RollingFileAppender fileAppender = (RollingFileAppender)rootLogger.getAppender("fileAppender"); // <param name="FileNamePattern" value="/var/log/Launcher.log.%d{yyyy-MM-dd}.gz"/> String currentLogFile = fileAppender.getFile(); String newLogPattern = currentLogFile.replace(LOG4J_ROLLING_FILE_NAME_TOKEN, actionName); fileAppender.setFile(newLogPattern); TimeBasedRollingPolicy timeBasedRollingPolicy = (TimeBasedRollingPolicy) fileAppender.getRollingPolicy(); String fileNamePattern = timeBasedRollingPolicy.getFileNamePattern(); String newFileNamePattern = fileNamePattern.replace(LOG4J_ROLLING_FILE_NAME_TOKEN, actionName);; timeBasedRollingPolicy.setFileNamePattern(newFileNamePattern); timeBasedRollingPolicy.activateOptions(); fileAppender.activateOptions(); LOG.info(" Redirected launcher log output to log pattern: " + newFileNamePattern); }
private Logger logger = null; private RollingFileAppender appender = null; private void init(String NameForAppender, String Name4LogFile) { logger = Logger.getLogger(NameForAppender); //NOT DEFAULT BY "logger = Logger.getLogger(TestJob.class);" appender = new RollingFileAppender(); appender.setName(NameForAppender); //<-- I think this helps in pair of the Logger.getLogger(NameForAppender) above appender.setLayout(new PatternLayout("%d{yyyy-MM-dd/HH:mm:ss.SSS/zzz} %-5p %c{1}:%L - %m%n")); appender.setFile(Name4LogFile); appender.setAppend(true); appender.setImmediateFlush(true); appender.setMaxFileSize("100MB"); appender.setMaxBackupIndex(10); appender.activateOptions(); logger.setAdditivity(false); //<--do not use default root logger logger.addAppender(appender); }
static { if (null == LOGGER.getAppender("TEST_LOG_APPENDER")) { RollingFileAppender fa = new RollingFileAppender(); fa.setName("TEST_LOG_APPENDER"); fa.setFile("/test-output/" + "App_1.log"); fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n")); fa.setThreshold(Level.DEBUG); fa.setAppend(true); fa.setMaxFileSize("10MB"); fa.activateOptions(); LOGGER.addAppender(fa); } }
appender.setMaxFileSize("100MB"); appender.setMaxBackupIndex(10); appender.activateOptions(); logger.setAdditivity(false); logger.addAppender(appender);