Reputation: 31724
I want to log my application output to a file hosted on my tomcat server. log4j.properties set is:
log4j.rootLogger=INFO, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.R.MaxFileSize=1000KB
log4j.appender.R.MaxBackupIndex=5
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/initiate.log
log4j.appender.stdout=org.apache.log4j.FileAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %p [%c] - %m%n
It does create initiate.log
file but my log statements are not added to it. What is the issue? Or how will I set the properties using java Logger
to output to fil
Upvotes: 0
Views: 230
Reputation: 627
You need to define a way to access file logger somewhere in your java code
import org.apache.log4j.Logger;
private static Logger logger= Logger.getLogger("R");//fileLoggerName: R in this case
and then access the file like below
logger.error("Whatever message is!!");
//OR
logger.info("message to write", exceptionObjectForCompleteTrace);
Upvotes: 1